#
# (C) COPYRIGHT 2014,2017 ARM Limited. All rights reserved.
#
# This program is free software and is provided to you under the terms of the
# GNU General Public License version 2 as published by the Free Software
# Foundation, and any use by you of this program is subject to the terms
# of such GNU licence.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, you can access it online at
# http://www.gnu.org/licenses/gpl-2.0.html.
#
# SPDX-License-Identifier: GPL-2.0
#
#

BACKEND += \
	backend/gpu/mali_kbase_cache_policy_backend.c \
	backend/gpu/mali_kbase_device_hw.c \
	backend/gpu/mali_kbase_gpu.c \
	backend/gpu/mali_kbase_gpuprops_backend.c \
	backend/gpu/mali_kbase_debug_job_fault_backend.c \
	backend/gpu/mali_kbase_irq_linux.c \
	backend/gpu/mali_kbase_instr_backend.c \
	backend/gpu/mali_kbase_jm_as.c \
	backend/gpu/mali_kbase_jm_hw.c \
	backend/gpu/mali_kbase_jm_rb.c \
	backend/gpu/mali_kbase_js_affinity.c \
	backend/gpu/mali_kbase_js_backend.c \
	backend/gpu/mali_kbase_mmu_hw_direct.c \
	backend/gpu/mali_kbase_pm_backend.c \
	backend/gpu/mali_kbase_pm_driver.c \
	backend/gpu/mali_kbase_pm_metrics.c \
	backend/gpu/mali_kbase_pm_ca.c \
	backend/gpu/mali_kbase_pm_ca_fixed.c \
	backend/gpu/mali_kbase_pm_always_on.c \
	backend/gpu/mali_kbase_pm_coarse_demand.c \
	backend/gpu/mali_kbase_pm_demand.c \
	backend/gpu/mali_kbase_pm_policy.c \
	backend/gpu/mali_kbase_time.c

ifeq ($(MALI_CUSTOMER_RELEASE),0)
BACKEND += \
	backend/gpu/mali_kbase_pm_ca_random.c \
	backend/gpu/mali_kbase_pm_demand_always_powered.c \
	backend/gpu/mali_kbase_pm_fast_start.c
endif

ifeq ($(CONFIG_MALI_DEVFREQ),y)
BACKEND += \
	backend/gpu/mali_kbase_devfreq.c \
	backend/gpu/mali_kbase_pm_ca_devfreq.c
endif

ifeq ($(CONFIG_MALI_NO_MALI),y)
	# Dummy model
	BACKEND += backend/gpu/mali_kbase_model_dummy.c
	BACKEND += backend/gpu/mali_kbase_model_linux.c
	# HW error simulation
	BACKEND += backend/gpu/mali_kbase_model_error_generator.c
endif
