satip-axe/kernel/drivers/stm/mali/Makefile

169 lines
5.3 KiB
Makefile

#
# (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