# # (C) COPYRIGHT 2010 STMicroelectronics R&D Ltd # # This file is subject to the terms and conditions of the GNU General Public # License. See the file COPYING in the main directory of this archive for # more details. # MALI_DIR := $(srctree)/drivers/stm/mali # Get ARM release version string SVN_REV := $(shell [ -e $(MALI_DIR)/version ] && cat $(MALI_DIR)/version) # Get API version of user-kernel interface by extracting it from the mali_kernel_ioctl.h file API_VERSION := $(shell grep "\#define _MALI_API_VERSION" $(MALI_DIR)/common/mali_uk_types.h | cut -d' ' -f 3 ) # Driver include paths ccflags-y := -I$(MALI_DIR) -I$(MALI_DIR)/common -I$(MALI_DIR)/linux -I$(MALI_DIR)/platform ccflags-y += -I$(MALI_DIR)/linux/license/gpl # Source files which always are included in a build OSK_OBJS := $(addprefix ./linux/, \ mali_osk_atomics.o \ mali_osk_irq.o \ mali_osk_locks.o \ mali_osk_low_level_mem.o \ mali_osk_math.o \ mali_osk_memory.o \ mali_osk_misc.o \ mali_osk_mali.o \ mali_osk_notification.o \ mali_osk_time.o \ mali_osk_timers.o) UKK_OBJS := $(addprefix ./linux/,\ mali_ukk_mem.o \ mali_ukk_gp.o \ mali_ukk_pp.o \ mali_ukk_core.o) LINUX_OBJS := $(addprefix ./linux/, \ mali_kernel_linux.o \ mali_osk_indir_mmap.o \ mali_ukk_vsync.o \ mali_kernel_sysfs.o) COMMON_OBJS := $(addprefix ./common/, \ mali_kernel_core.o \ mali_kernel_rendercore.o \ mali_kernel_descriptor_mapping.o \ mali_kernel_vsync.o ) PLATFORM_OBJS := $(addprefix ./platform/stm/, \ mali_platform.o ) ifeq ($(CONFIG_CPU_SUBTYPE_STX7108)$(CONFIG_CPU_SUBTYPE_FLI7510),y) SOC := stx7108 USING_MMU := 1 USING_UMP := 0 USING_MALI200 := 0 USING_MALI400 := 1 USING_MALI400_L2_CACHE := 1 USING_GP2 := 1 # new for r2p1 ONLY_ZBT := 0 USING_ZBT := 1 USING_OS_MEMORY := 0 USING_PMM := 1 USING_MALI_RUN_TIME_PM := 0 USING_GPU_UTILIZATION := 0 USING_PROFILING := 0 TIMESTAMP := default USING_MALI_PMM_TESTSUITE := 0 # new for r2p2 OS_MEMORY_KERNEL_BUFFER_SIZE_IN_MB := 6 MALI_OBJS := $(OSK_OBJS) $(UKK_OBJS) $(COMMON_OBJS) $(LINUX_OBJS) $(PLATFORM_OBJS) MALI_OBJS += $(addprefix ./common/, \ mali_kernel_MALI200.o \ mali_kernel_GP2.o \ mali_kernel_mem_mmu.o \ mali_kernel_memory_engine.o \ mali_block_allocator.o \ mali_kernel_mem_os.o \ mali_kernel_l2_cache.o) endif ifeq ($(USING_PMM),1) MALI_OBJS += $(addprefix ./common/pmm/, \ mali_pmm.o \ mali_pmm_policy.o \ mali_pmm_policy_alwayson.o \ mali_pmm_policy_jobcontrol.o \ mali_pmm_state.o ) MALI_OBJS += $(addprefix ./linux/, \ mali_kernel_pm.o \ mali_osk_pm.o \ mali_device_pause_resume.o) ccflags-y += -I$(MALI_DIR)/common/pmm endif ifeq ($(USING_PROFILING),1) MALI_OBJS += $(addprefix ./common/, \ mali_kernel_profiling.o) \ timestamp-$(TIMESTAMP)/mali_timestamp.o ccflags-y += -I$(MALI_DIR)/timestamp-$(TIMESTAMP) endif ifeq ($(USING_GPU_UTILIZATION),1) MALI_OBJS += $(addprefix ./common/, \ mali_kernel_utilization.o endif MAIL_OBJS += malidrv_build_info.o # Mali driver defines ccflags-y += -DUSING_MMU=$(USING_MMU) \ -DMALI_USE_UNIFIED_MEMORY_PROVIDER=0 \ -D_MALI_OSK_SPECIFIC_INDIRECT_MMAP \ -DMALI_UKK_HAS_IMPLICIT_MMAP_CLEANUP \ -DUSING_MALI400=$(USING_MALI400) \ -DUSING_MALI400_L2_CACHE=$(USING_MALI400_L2_CACHE) \ -DSVN_REV=$(SVN_REV) \ -DSVN_REV_STRING=\"$(SVN_REV)\" # Mali driver defines new for r2p1 ccflags-y += -DUSING_ZBT=$(USING_ZBT) \ -DUSING_OS_MEMORY=$(USING_OS_MEMORY) \ -DONLY_ZBT=$(ONLY_ZBT) \ -DUSING_MALI_PMM=$(USING_PMM) \ -DMALI_PMM_RUNTIME_JOB_CONTROL_ON=$(USING_MALI_RUN_TIME_PM) \ -DMALI_GPU_UTILIZATION=$(USING_GPU_UTILIZATION) \ -DMALI_TIMELINE_PROFILING_ENABLED=$(USING_PROFILING) \ -DMALI_POWER_MGMT_TEST_SUITE=$(USING_MALI_PMM_TESTSUITE) # Mali driver defines new for r2p2 ccflags-y += -DMALI_OS_MEMORY_KERNEL_BUFFER_SIZE_IN_MB=$(OS_MEMORY_KERNEL_BUFFER_SIZE_IN_MB) ifeq ($(shell test $(SUBLEVEL) -gt 32 && echo "OK"),OK) # MALI_STATE_TRACKING is only supported on Linux kernels from version 2.6.32. ccflags-y += -DMALI_STATE_TRACKING=1 else ccflags-y += -DMALI_STATE_TRACKING=0 endif ifeq ($(CONFIG_STM_MALI_DEBUG),y) ccflags-y += -DDEBUG endif BUILD_DATE := $(shell LANG=C /bin/date "+%a %b %d %Y %H:%m %Z") CFLAGS_malidrv_build_info.o := -DMALIDRV_SOC="KBUILD_STR($(SOC))" \ -DMALIDRV_KERNELDIR="KBUILD_STR($(KERNELDIR))" \ -DMALIDRV_USING_MMU="KBUILD_STR($(USING_MMU))" \ -DMALIDRV_USING_UMP="KBUILD_STR($(USING_UMP))" \ -DMALIDRV_MMAP_CACHED_PAGES="KBUILD_STR($(MMAP_CACHED_PAGES))" \ -DMALIDRV_USING_MALI200="KBUILD_STR($(USING_MALI200))" \ -DMALIDRV_USING_MALI400="KBUILD_STR($(USING_MALI400))" \ -DMALIDRV_USING_MALI400L2="KBUILD_STR($(USING_MALI400L2))" \ -DMALIDRV_USING_MALIGP2="KBUILD_STR($(USING_MALIGP2))" \ -DMALIDRV_API_VERSION="KBUILD_STR($(API_VERSION))" \ -DMALIDRV_SVN_REV="KBUILD_STR($(SVN_REV))" \ -DMALIDRV_BUILD_DATE="KBUILD_STR($(BUILD_DATE))" obj-$(CONFIG_STM_MALI) += mali.o mali-objs := $(MALI_OBJS) # last line