#
# (C) COPYRIGHT 2014-2019 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_gpuprops_backend.c \
	backend/gpu/mali_kbase_irq_linux.c \
	backend/gpu/mali_kbase_instr_backend.c \
	backend/gpu/mali_kbase_js_backend.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_always_on.c \
	backend/gpu/mali_kbase_pm_coarse_demand.c \
	backend/gpu/mali_kbase_pm_policy.c \
	backend/gpu/mali_kbase_time.c \
	backend/gpu/mali_kbase_l2_mmu_config.c

ifeq ($(MALI_USE_CSF),1)
# empty
else
	BACKEND += \
		backend/gpu/mali_kbase_jm_as.c \
		backend/gpu/mali_kbase_debug_job_fault_backend.c \
		backend/gpu/mali_kbase_jm_hw.c \
		backend/gpu/mali_kbase_jm_rb.c
endif

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

ifeq ($(CONFIG_MALI_DEVFREQ),y)
BACKEND += \
	backend/gpu/mali_kbase_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
