# # (C) COPYRIGHT 2012 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. # # A copy of the licence is included with the program, and can also be obtained # from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # # MALI_CUSTOMER_RELEASE = 1 # Enable this option when running TEM coverage tests # export GCOV_PROFILE := y KBASE_PATH = $(src) PLATFORM_INCLUDE_PATH = $(srctree)/drivers/gpu/arm/exynos/include PLATFORM_IF_INCLUDE_PATH = $(srctree)/drivers/gpu/arm/exynos/include PLATFORM_BE_INCLUDE_PATH = $(srctree)/drivers/gpu/arm/exynos/include PLATFORM_TESTS_INCLUDE_PATH = $(srctree)/drivers/gpu/arm/exynos/include/tests UAPI_INCLUDE_PATH = $(srctree)/include/uapi/gpu/arm/exynos ccflags-y += $(DEFINES) ccflags-y += -I$(PLATFORM_INCLUDE_PATH) ccflags-y += -I$(PLATFORM_IF_INCLUDE_PATH) ccflags-y += -I$(PLATFORM_BE_INCLUDE_PATH) ccflags-y += -I$(PLATFORM_TESTS_INCLUDE_PATH) ccflags-y += -I$(UAPI_INCLUDE_PATH) subdir-ccflags-y += $(DEFINES) subdir-ccflags-y += -I$(PLATFORM_INCLUDE_PATH) subdir-ccflags-y += -I$(PLATFORM_IF_INCLUDE_PATH) subdir-ccflags-y += -I$(PLATFORM_BE_INCLUDE_PATH) subdir-ccflags-y += -I$(PLATFORM_TESTS_INCLUDE_PATH) subdir-ccflags-y += -I$(UAPI_INCLUDE_PATH) soc_name := $(shell echo $(CONFIG_EXYNOS_SOC_NAME)) PLATFORM_DIR := ../exynos FRONTEND_DIR := $(PLATFORM_DIR)/frontend COMMON_DIR := $(PLATFORM_DIR)/common BACKEND_DIR := $(PLATFORM_DIR)/backend WA_DIR := $(PLATFORM_DIR)/workarounds TESTS_DIR := $(PLATFORM_DIR)/tests mali_kbase-y += $(PLATFORM_DIR)/mali_exynos_kbase_entrypoint.o mali_kbase-y += $(FRONTEND_DIR)/gpex_platform.o ifneq ($(CONFIG_OF), y) mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_platform_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_DEVICETREE), y) mali_kbase-y += $(BACKEND_DIR)/gpexbe_devicetree.o else mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_devicetree_dummy.o endif mali_kbase-y += $(COMMON_DIR)/gpex_utils.o ifeq ($(CONFIG_MALI_EXYNOS_CLOCK), y) mali_kbase-y += $(FRONTEND_DIR)/gpex_clock.o mali_kbase-y += $(FRONTEND_DIR)/gpex_clock_sysfs.o mali_kbase-y += $(BACKEND_DIR)/gpexbe_clock.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_clock_dummy.o mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_clock_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_DVFS), y) mali_kbase-y += $(FRONTEND_DIR)/gpu_dvfs_governor.o mali_kbase-y += $(FRONTEND_DIR)/gpex_dvfs.o mali_kbase-y += $(FRONTEND_DIR)/gpex_dvfs_sysfs.o # TODO: only build this file for SOCs that need it mali_kbase-y += $(FRONTEND_DIR)/gpex_dvfs_external.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_dvfs_dummy.o endif ifeq ($(CONFIG_SOC_S5E8825), y) TSG_VERSION := _v3 endif ifeq ($(CONFIG_MALI_TSG), y) mali_kbase-y += $(FRONTEND_DIR)/gpex_tsg$(TSG_VERSION).o mali_kbase-y += $(FRONTEND_DIR)/gpex_tsg_sysfs$(TSG_VERSION).o mali_kbase-y += $(FRONTEND_DIR)/gpex_tsg_external$(TSG_VERSION).o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_tsg_dummy$(TSG_VERSION).o endif ifeq ($(TSG_VERSION), _v3) mali_kbase-y += $(FRONTEND_DIR)/gpex_cmar_sched.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_cmar_sched_dummy.o endif ifneq (,$(filter y m,$(CONFIG_EXYNOS_CONTENT_PATH_PROTECTION))) mali_kbase-y += $(BACKEND_DIR)/gpexbe_smc.o else mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_smc_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_SECURE_RENDERING_LEGACY), y) mali_kbase-y += $(BACKEND_DIR)/gpexbe_secure_legacy.o endif ifeq ($(CONFIG_MALI_EXYNOS_SECURE_RENDERING_ARM), y) mali_kbase-y += $(BACKEND_DIR)/gpexbe_secure.o endif ifeq (,$(findstring y, \ $(CONFIG_MALI_EXYNOS_SECURE_RENDERING_LEGACY) \ $(CONFIG_MALI_EXYNOS_SECURE_RENDERING_ARM))) mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_secure_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_QOS), y) mali_kbase-y += $(FRONTEND_DIR)/gpex_qos.o mali_kbase-y += $(BACKEND_DIR)/gpexbe_qos.o mali_kbase-$(CONFIG_SOC_EXYNOS9810) += $(BACKEND_DIR)/gpexbe_qos_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9610) += $(BACKEND_DIR)/gpexbe_qos_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9820) += $(BACKEND_DIR)/gpexbe_qos_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9830) += $(BACKEND_DIR)/gpexbe_qos_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9630) += $(BACKEND_DIR)/gpexbe_qos_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS3830) += $(BACKEND_DIR)/gpexbe_qos_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS2100) += $(BACKEND_DIR)/gpexbe_qos_v3.o mali_kbase-$(CONFIG_SOC_S5E8825) += $(BACKEND_DIR)/gpexbe_qos_v3_8825.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_qos_dummy.o mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_qos_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_BTS_MO), y) mali_kbase-$(CONFIG_SOC_EXYNOS9810) += $(BACKEND_DIR)/gpexbe_bts_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9820) += $(BACKEND_DIR)/gpexbe_bts_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9610) += $(BACKEND_DIR)/gpexbe_bts_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9830) += $(BACKEND_DIR)/gpexbe_bts_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9630) += $(BACKEND_DIR)/gpexbe_bts_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS3830) += $(BACKEND_DIR)/gpexbe_bts_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS2100) += $(BACKEND_DIR)/gpexbe_bts_v2.o mali_kbase-$(CONFIG_SOC_S5E8825) += $(BACKEND_DIR)/gpexbe_bts_v2.o else mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_bts_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_DEBUG), y) mali_kbase-$(CONFIG_SOC_EXYNOS9810) += $(BACKEND_DIR)/gpexbe_debug_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9820) += $(BACKEND_DIR)/gpexbe_debug_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9830) += $(BACKEND_DIR)/gpexbe_debug_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9610) += $(BACKEND_DIR)/gpexbe_debug_v2_9611.o mali_kbase-$(CONFIG_SOC_EXYNOS9630) += $(BACKEND_DIR)/gpexbe_debug_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS3830) += $(BACKEND_DIR)/gpexbe_debug_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS2100) += $(BACKEND_DIR)/gpexbe_debug_v3.o mali_kbase-$(CONFIG_SOC_S5E8825) += $(BACKEND_DIR)/gpexbe_debug_v3.o else mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_debug_dummy.o endif mali_kbase-$(CONFIG_SOC_EXYNOS9810) += $(BACKEND_DIR)/gpexbe_dmabuf_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9820) += $(BACKEND_DIR)/gpexbe_dmabuf_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9830) += $(BACKEND_DIR)/gpexbe_dmabuf_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9610) += $(BACKEND_DIR)/gpexbe_dmabuf_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9630) += $(BACKEND_DIR)/gpexbe_dmabuf_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS3830) += $(BACKEND_DIR)/gpexbe_dmabuf_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS2100) += $(BACKEND_DIR)/dummy/gpexbe_dmabuf_dummy.o mali_kbase-$(CONFIG_SOC_S5E8825) += $(BACKEND_DIR)/dummy/gpexbe_dmabuf_dummy.o ifeq ($(CONFIG_MALI_EXYNOS_LLC), y) mali_kbase-y += $(BACKEND_DIR)/gpexbe_llc_coherency.o else mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_llc_coherency_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_THERMAL), y) mali_kbase-y += $(FRONTEND_DIR)/gpex_thermal.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_thermal_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_GTS), y) mali_kbase-y += $(FRONTEND_DIR)/gpex_gts.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_gts_dummy.o endif mali_kbase-y += $(BACKEND_DIR)/gpexbe_notifier.o ifeq (y,$(findstring y,$(CONFIG_KUNIT)$(CONFIG_SEC_KUNIT))) mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_notifier_dummy.o else mali_kbase-$(CONFIG_SOC_EXYNOS9810) += $(BACKEND_DIR)/gpexbe_notifier_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9610) += $(BACKEND_DIR)/gpexbe_notifier_v1.o mali_kbase-$(CONFIG_SOC_EXYNOS9820) += $(BACKEND_DIR)/gpexbe_notifier_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9830) += $(BACKEND_DIR)/gpexbe_notifier_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS9630) += $(BACKEND_DIR)/gpexbe_notifier_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS3830) += $(BACKEND_DIR)/gpexbe_notifier_v2.o mali_kbase-$(CONFIG_SOC_EXYNOS2100) += $(BACKEND_DIR)/gpexbe_notifier_v3.o mali_kbase-$(CONFIG_SOC_S5E8825) += $(BACKEND_DIR)/gpexbe_notifier_v3.o endif ifeq ($(CONFIG_MALI_EXYNOS_PM), y) mali_kbase-y += $(BACKEND_DIR)/gpexbe_pm.o mali_kbase-y += $(FRONTEND_DIR)/gpex_pm.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_pm_dummy.o mali_kbase-y += $(BACKEND_DIR)/dummy/gpexbe_pm_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_IFPO), y) mali_kbase-y += $(FRONTEND_DIR)/gpex_ifpo.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_ifpo_dummy.o endif mali_kbase-y += $(BACKEND_DIR)/gpexbe_utilization.o mali_kbase-y += $(BACKEND_DIR)/gpexbe_mem_usage.o ifeq ($(CONFIG_MALI_EXYNOS_UNIT_TESTS), y) mali_kbase-y += $(TESTS_DIR)/runtime_test_runner.o mali_kbase-y += $(TESTS_DIR)/clock_runtime_tests.o mali_kbase-y += $(TESTS_DIR)/pm_state_runtime_tests.o mali_kbase-y += $(TESTS_DIR)/clock_sysfs_tests.o else mali_kbase-y += $(TESTS_DIR)/runtime_test_runner_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_WAKEUP_CLOCK_WA), y) mali_kbase-$(CONFIG_SOC_EXYNOS9830) += $(WA_DIR)/gpexwa_wakeup_clock_9830.o else mali_kbase-y += $(WA_DIR)/dummy/gpexwa_wakeup_clock_dummy.o endif ifeq ($(CONFIG_MALI_EXYNOS_CL_BOOST), y) mali_kbase-y += $(FRONTEND_DIR)/gpex_clboost.o else mali_kbase-y += $(FRONTEND_DIR)/dummy/gpex_clboost_dummy.o endif mali_kbase-y += $(FRONTEND_DIR)/gpex_cmar_boost.o mali_kbase-$(CONFIG_MALI_SEC_G3D_PEAK_NOTI) += $(WA_DIR)/gpexwa_peak_notify.o mali_kbase-$(CONFIG_MALI_EXYNOS_INTERACTIVE_BOOST) += $(WA_DIR)/gpexwa_interactive_boost.o ifeq ($(CONFIG_MALI_EXYNOS_DEBUG_FAULT_DUMP), y) mali_kbase-y += $(COMMON_DIR)/gpex_debug.o else mali_kbase-y += $(COMMON_DIR)/dummy/gpex_debug_dummy.o endif