diff options
author | Sidath Senanayake <sidaths@google.com> | 2021-07-12 20:20:07 +0100 |
---|---|---|
committer | Sidath Senanayake <sidaths@google.com> | 2021-07-12 20:20:07 +0100 |
commit | b2f3e45b252b412e220522adb6cf720ed2f1a4ae (patch) | |
tree | 3b49dd6030f597037dc22282845f0c9a0a63daa5 /mali_kbase/Kbuild | |
parent | f573fd96c0d6b6dfb2a91605a211dd15cb3153d4 (diff) | |
parent | 2bfaaa5f53c45ab7b4f6daba20e92ef6d16ab53b (diff) | |
download | gpu-b2f3e45b252b412e220522adb6cf720ed2f1a4ae.tar.gz |
Merge r32p1-beta from upstream into android-gs-pixel-5.10
This commit updates the Mali KMD to version r32p1-beta from
commit 2bfaaa5f53c45ab7b4f6daba20e92ef6d16ab53b
Bug: 190388367
Signed-off-by: Sidath Senanayake <sidaths@google.com>
Change-Id: Ia2fa310b12eb95b0f3013c69ca821909d3fbf125
Diffstat (limited to 'mali_kbase/Kbuild')
-rw-r--r-- | mali_kbase/Kbuild | 392 |
1 files changed, 201 insertions, 191 deletions
diff --git a/mali_kbase/Kbuild b/mali_kbase/Kbuild index a3a15d8..e529e5e 100644 --- a/mali_kbase/Kbuild +++ b/mali_kbase/Kbuild @@ -18,236 +18,246 @@ # # +# make $(src) as absolute path if it is not already, by prefixing $(srctree) +# This is to prevent any build issue due to wrong path. +src:=$(if $(patsubst /%,,$(src)),$(srctree)/$(src),$(src)) + +# +# Prevent misuse when Kernel configurations are not present by default +# in out-of-tree builds +# +ifneq ($(CONFIG_ANDROID),n) +ifeq ($(CONFIG_GPU_TRACEPOINTS),n) + $(error CONFIG_GPU_TRACEPOINTS must be set in Kernel configuration) +endif +endif + +ifeq ($(CONFIG_DMA_SHARED_BUFFER),n) + $(error CONFIG_DMA_SHARED_BUFFER must be set in Kernel configuration) +endif + +ifeq ($(CONFIG_PM_DEVFREQ),n) + $(error CONFIG_PM_DEVFREQ must be set in Kernel configuration) +endif + +ifeq ($(CONFIG_DEVFREQ_THERMAL),n) + $(error CONFIG_DEVFREQ_THERMAL must be set in Kernel configuration) +endif + +ifeq ($(CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND),n) + $(error CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND must be set in Kernel configuration) +endif + +ifeq ($(CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS), y) + ifneq ($(CONFIG_DEBUG_FS), y) + $(error CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS depends on CONFIG_DEBUG_FS to be set in Kernel configuration) + endif +endif + +ifeq ($(CONFIG_MALI_FENCE_DEBUG), y) + ifneq ($(CONFIG_SYNC), y) + ifneq ($(CONFIG_SYNC_FILE), y) + $(error CONFIG_MALI_FENCE_DEBUG depends on CONFIG_SYNC || CONFIG_SYNC_FILE to be set in Kernel configuration) + endif + endif +endif + +# +# Configurations +# # Driver version string which is returned to userspace via an ioctl -MALI_RELEASE_NAME ?= '"r31p0-01eac0"' +MALI_RELEASE_NAME ?= '"r32p1-00bet0"' # Append pixel to release name for debugging MALI_RELEASE_NAME := $(subst "',-pixel"',$(MALI_RELEASE_NAME)) - -# Paths required for build - -# make $(src) as absolute path if it is not already, by prefixing $(srctree) -src:=$(if $(patsubst /%,,$(src)),$(srctree)/$(src),$(src)) -KBASE_PATH = $(src) -KBASE_PLATFORM_PATH = $(KBASE_PATH)/platform_dummy -UMP_PATH = $(src)/../../../base +CONFIG_MALI_PLATFORM_NAME="pixel" # Set up defaults if not defined by build system -MALI_CUSTOMER_RELEASE ?= 1 -MALI_UNIT_TEST ?= 0 +ifeq ($(CONFIG_MALI_DEBUG), y) + MALI_UNIT_TEST = 1 + MALI_CUSTOMER_RELEASE ?= 0 +else + MALI_UNIT_TEST ?= 0 + MALI_CUSTOMER_RELEASE ?= 1 +endif MALI_COVERAGE ?= 0 + CONFIG_MALI_PLATFORM_NAME ?= "devicetree" + +# Kconfig passes in the name with quotes for in-tree builds - remove them. +MALI_PLATFORM_DIR := $(shell echo $(CONFIG_MALI_PLATFORM_NAME)) + +ifeq ($(CONFIG_MALI_CSF_SUPPORT),y) + MALI_JIT_PRESSURE_LIMIT_BASE = 0 + MALI_USE_CSF = 1 +else + MALI_JIT_PRESSURE_LIMIT_BASE ?= 1 + MALI_USE_CSF ?= 0 +endif + +ifneq ($(CONFIG_MALI_KUTF), n) + MALI_KERNEL_TEST_API ?= 1 +else + MALI_KERNEL_TEST_API ?= 0 +endif + # Experimental features (corresponding -D definition should be appended to -# DEFINES below, e.g. for MALI_EXPERIMENTAL_FEATURE, +# ccflags-y below, e.g. for MALI_EXPERIMENTAL_FEATURE, # -DMALI_EXPERIMENTAL_FEATURE=$(MALI_EXPERIMENTAL_FEATURE) should be appended) # # Experimental features must default to disabled, e.g.: # MALI_EXPERIMENTAL_FEATURE ?= 0 MALI_INCREMENTAL_RENDERING ?= 0 -ifeq ($(CONFIG_MALI_CSF_SUPPORT),y) -MALI_JIT_PRESSURE_LIMIT_BASE = 0 -MALI_USE_CSF = 1 -else -MALI_JIT_PRESSURE_LIMIT_BASE ?= 1 -MALI_USE_CSF ?= 0 -endif +# +# ccflags +# +ccflags-y = \ + -DMALI_CUSTOMER_RELEASE=$(MALI_CUSTOMER_RELEASE) \ + -DMALI_USE_CSF=$(MALI_USE_CSF) \ + -DMALI_KERNEL_TEST_API=$(MALI_KERNEL_TEST_API) \ + -DMALI_UNIT_TEST=$(MALI_UNIT_TEST) \ + -DMALI_COVERAGE=$(MALI_COVERAGE) \ + -DMALI_RELEASE_NAME=$(MALI_RELEASE_NAME) \ + -DMALI_JIT_PRESSURE_LIMIT_BASE=$(MALI_JIT_PRESSURE_LIMIT_BASE) \ + -DMALI_INCREMENTAL_RENDERING=$(MALI_INCREMENTAL_RENDERING) \ + -DMALI_KBASE_BUILD \ + -DMALI_PLATFORM_DIR=$(MALI_PLATFORM_DIR) -ifneq ($(CONFIG_MALI_KUTF), n) -MALI_KERNEL_TEST_API ?= 1 -else -MALI_KERNEL_TEST_API ?= 0 -endif - -# Set up our defines, which will be passed to gcc -DEFINES = \ - -DMALI_CUSTOMER_RELEASE=$(MALI_CUSTOMER_RELEASE) \ - -DMALI_USE_CSF=$(MALI_USE_CSF) \ - -DMALI_KERNEL_TEST_API=$(MALI_KERNEL_TEST_API) \ - -DMALI_UNIT_TEST=$(MALI_UNIT_TEST) \ - -DMALI_COVERAGE=$(MALI_COVERAGE) \ - -DMALI_RELEASE_NAME=$(MALI_RELEASE_NAME) \ - -DMALI_JIT_PRESSURE_LIMIT_BASE=$(MALI_JIT_PRESSURE_LIMIT_BASE) \ - -DMALI_INCREMENTAL_RENDERING=$(MALI_INCREMENTAL_RENDERING) - -# Pixel integration defines -DEFINES += \ - -DCONFIG_MALI_MIDGARD_DVFS=$(CONFIG_MALI_MIDGARD_DVFS) \ - -DCONFIG_MALI_PIXEL_GPU_QOS=$(CONFIG_MALI_PIXEL_GPU_QOS) \ - -DCONFIG_MALI_PIXEL_GPU_BTS=$(CONFIG_MALI_PIXEL_GPU_BTS) \ - -DCONFIG_MALI_PIXEL_GPU_THERMAL=$(CONFIG_MALI_PIXEL_GPU_THERMAL) \ - -DCONFIG_MALI_PIXEL_GPU_SECURE_RENDERING=$(CONFIG_MALI_PIXEL_GPU_SECURE_RENDERING) ifeq ($(KBUILD_EXTMOD),) # in-tree -DEFINES +=-DMALI_KBASE_PLATFORM_PATH=../../$(src)/platform/$(CONFIG_MALI_PLATFORM_NAME) + ccflags-y +=-DMALI_KBASE_PLATFORM_PATH=../../$(src)/platform/$(CONFIG_MALI_PLATFORM_NAME) else # out-of-tree -DEFINES +=-DMALI_KBASE_PLATFORM_PATH=$(src)/platform/$(CONFIG_MALI_PLATFORM_NAME) + ccflags-y +=-DMALI_KBASE_PLATFORM_PATH=$(src)/platform/$(CONFIG_MALI_PLATFORM_NAME) endif -DEFINES += -I$(srctree)/drivers/staging/android - -DEFINES += -DMALI_KBASE_BUILD - -# Use our defines when compiling -ccflags-y += $(DEFINES) -I$(KBASE_PATH) -I$(KBASE_PLATFORM_PATH) -I$(UMP_PATH) -I$(srctree)/include/linux -subdir-ccflags-y += $(DEFINES) -I$(KBASE_PATH) -I$(KBASE_PLATFORM_PATH) -I$(UMP_PATH) -I$(srctree)/include/linux +ccflags-y += \ + -I$(srctree)/include/linux \ + -I$(srctree)/drivers/staging/android \ + -I$(src) \ + -I$(src)/platform/$(MALI_PLATFORM_DIR) \ + -I$(src)/../../../base \ + -I$(src)/../../../../include # Add include path for related GPU modules ccflags-y += -I$(src)/../common/include -SRC := \ - context/mali_kbase_context.c \ - debug/mali_kbase_debug_ktrace.c \ - device/mali_kbase_device.c \ - device/mali_kbase_device_hw.c \ - mali_kbase_cache_policy.c \ - mali_kbase_ccswe.c \ - mali_kbase_mem.c \ - mali_kbase_mem_pool_group.c \ - mali_kbase_native_mgm.c \ - mali_kbase_ctx_sched.c \ - mali_kbase_jm.c \ - mali_kbase_gpuprops.c \ - mali_kbase_pm.c \ - mali_kbase_config.c \ - mali_kbase_vinstr.c \ - mali_kbase_hwcnt.c \ - mali_kbase_hwcnt_gpu.c \ - mali_kbase_hwcnt_legacy.c \ - mali_kbase_hwcnt_types.c \ - mali_kbase_hwcnt_virtualizer.c \ - mali_kbase_softjobs.c \ - mali_kbase_hw.c \ - mali_kbase_debug.c \ - mali_kbase_gpu_memory_debugfs.c \ - mali_kbase_mem_linux.c \ - mali_kbase_core_linux.c \ - mali_kbase_mem_profile_debugfs.c \ - mmu/mali_kbase_mmu.c \ - mmu/mali_kbase_mmu_hw_direct.c \ - mmu/mali_kbase_mmu_mode_aarch64.c \ - mali_kbase_disjoint_events.c \ - mali_kbase_debug_mem_view.c \ - mali_kbase_smc.c \ - mali_kbase_mem_pool.c \ - mali_kbase_mem_pool_debugfs.c \ - mali_kbase_debugfs_helper.c \ - mali_kbase_strings.c \ - mali_kbase_as_fault_debugfs.c \ - mali_kbase_regs_history_debugfs.c \ - mali_kbase_dvfs_debugfs.c \ - mali_power_gpu_frequency_trace.c \ - mali_kbase_trace_gpu_mem.c \ - thirdparty/mali_kbase_mmap.c \ - tl/mali_kbase_timeline.c \ - tl/mali_kbase_timeline_io.c \ - tl/mali_kbase_tlstream.c \ - tl/mali_kbase_tracepoints.c \ - gpu/mali_kbase_gpu.c - -ifeq ($(MALI_USE_CSF),1) - SRC += \ - mali_kbase_hwcnt_backend_csf.c \ - mali_kbase_hwcnt_backend_csf_if_fw.c \ - debug/backend/mali_kbase_debug_ktrace_csf.c \ - device/backend/mali_kbase_device_csf.c \ - device/backend/mali_kbase_device_hw_csf.c \ - gpu/backend/mali_kbase_gpu_fault_csf.c \ - tl/backend/mali_kbase_timeline_csf.c \ - mmu/backend/mali_kbase_mmu_csf.c \ - context/backend/mali_kbase_context_csf.c -else - SRC += \ - mali_kbase_hwcnt_backend_jm.c \ - mali_kbase_dummy_job_wa.c \ - mali_kbase_debug_job_fault.c \ - mali_kbase_event.c \ - mali_kbase_jd.c \ - mali_kbase_jd_debugfs.c \ - mali_kbase_js.c \ - mali_kbase_js_ctx_attr.c \ - mali_kbase_kinstr_jm.c \ - debug/backend/mali_kbase_debug_ktrace_jm.c \ - device/backend/mali_kbase_device_jm.c \ - device/backend/mali_kbase_device_hw_jm.c \ - gpu/backend/mali_kbase_gpu_fault_jm.c \ - tl/backend/mali_kbase_timeline_jm.c \ - mmu/backend/mali_kbase_mmu_jm.c \ - context/backend/mali_kbase_context_jm.c -endif - -ifeq ($(CONFIG_MALI_CINSTR_GWT),y) - SRC += mali_kbase_gwt.c -endif - +subdir-ccflags-y += $(ccflags-y) -ifeq ($(MALI_CUSTOMER_RELEASE),0) - SRC += mali_kbase_regs_dump_debugfs.c -endif - - -ccflags-y += -I$(KBASE_PATH) -I$(KBASE_PATH)/debug \ - -I$(KBASE_PATH)/debug/backend - -# Tell the Linux build system from which .o file to create the kernel module +# +# Kernel Modules +# obj-$(CONFIG_MALI_MIDGARD) += mali_kbase.o +obj-$(CONFIG_MALI_ARBITRATION) += arbitration/ +obj-$(CONFIG_MALI_KUTF) += tests/ + +mali_kbase-y := \ + mali_kbase_cache_policy.o \ + mali_kbase_ccswe.o \ + mali_kbase_mem.o \ + mali_kbase_mem_pool_group.o \ + mali_kbase_native_mgm.o \ + mali_kbase_ctx_sched.o \ + mali_kbase_gpuprops.o \ + mali_kbase_pm.o \ + mali_kbase_config.o \ + mali_kbase_vinstr.o \ + mali_kbase_hwcnt.o \ + mali_kbase_hwcnt_gpu.o \ + mali_kbase_hwcnt_legacy.o \ + mali_kbase_hwcnt_types.o \ + mali_kbase_hwcnt_virtualizer.o \ + mali_kbase_softjobs.o \ + mali_kbase_hw.o \ + mali_kbase_debug.o \ + mali_kbase_gpu_memory_debugfs.o \ + mali_kbase_mem_linux.o \ + mali_kbase_core_linux.o \ + mali_kbase_mem_profile_debugfs.o \ + mali_kbase_disjoint_events.o \ + mali_kbase_debug_mem_view.o \ + mali_kbase_smc.o \ + mali_kbase_mem_pool.o \ + mali_kbase_mem_pool_debugfs.o \ + mali_kbase_debugfs_helper.o \ + mali_kbase_strings.o \ + mali_kbase_as_fault_debugfs.o \ + mali_kbase_regs_history_debugfs.o \ + mali_kbase_dvfs_debugfs.o \ + mali_power_gpu_frequency_trace.o \ + mali_kbase_trace_gpu_mem.o + +mali_kbase-$(CONFIG_MALI_CINSTR_GWT) += mali_kbase_gwt.o -# Tell the Linux build system to enable building of our .c files -mali_kbase-y := $(SRC:.c=.o) - -# Kconfig passes in the name with quotes for in-tree builds - remove them. -platform_name := $(shell echo $(CONFIG_MALI_PLATFORM_NAME)) -MALI_PLATFORM_DIR := platform/$(platform_name) -ccflags-y += -I$(src)/$(MALI_PLATFORM_DIR) -include $(src)/$(MALI_PLATFORM_DIR)/Kbuild +mali_kbase-$(CONFIG_SYNC) += \ + mali_kbase_sync_android.o \ + mali_kbase_sync_common.o -ifeq ($(CONFIG_MALI_DEVFREQ),y) - ifeq ($(CONFIG_DEVFREQ_THERMAL),y) - include $(src)/ipa/Kbuild - endif -endif +mali_kbase-$(CONFIG_SYNC_FILE) += \ + mali_kbase_fence_ops.o \ + mali_kbase_sync_file.o \ + mali_kbase_sync_common.o -ifeq ($(MALI_USE_CSF),1) - include $(src)/csf/Kbuild +ifeq ($(CONFIG_MALI_CSF_SUPPORT),y) + mali_kbase-y += \ + mali_kbase_hwcnt_backend_csf.o \ + mali_kbase_hwcnt_backend_csf_if_fw.o else -# empty + mali_kbase-y += \ + mali_kbase_jm.o \ + mali_kbase_hwcnt_backend_jm.o \ + mali_kbase_dummy_job_wa.o \ + mali_kbase_debug_job_fault.o \ + mali_kbase_event.o \ + mali_kbase_jd.o \ + mali_kbase_jd_debugfs.o \ + mali_kbase_js.o \ + mali_kbase_js_ctx_attr.o \ + mali_kbase_kinstr_jm.o + + mali_kbase-$(CONFIG_MALI_DMA_FENCE) += \ + mali_kbase_fence_ops.o \ + mali_kbase_dma_fence.o \ + mali_kbase_fence.o + + mali_kbase-$(CONFIG_SYNC_FILE) += \ + mali_kbase_fence_ops.o \ + mali_kbase_fence.o endif -ifeq ($(CONFIG_MALI_ARBITER_SUPPORT),y) - include $(src)/arbiter/Kbuild -else -# empty -endif -ifeq ($(MALI_USE_CSF),0) - mali_kbase-$(CONFIG_MALI_DMA_FENCE) += \ - mali_kbase_fence_ops.o \ - mali_kbase_dma_fence.o \ - mali_kbase_fence.o +INCLUDE_SUBDIR = \ + $(src)/context/Kbuild \ + $(src)/debug/Kbuild \ + $(src)/device/Kbuild \ + $(src)/backend/gpu/Kbuild \ + $(src)/mmu/Kbuild \ + $(src)/tl/Kbuild \ + $(src)/gpu/Kbuild \ + $(src)/thirdparty/Kbuild \ + $(src)/platform/$(MALI_PLATFORM_DIR)/Kbuild - mali_kbase-$(CONFIG_SYNC_FILE) += \ - mali_kbase_fence_ops.o \ - mali_kbase_fence.o +ifeq ($(CONFIG_MALI_CSF_SUPPORT),y) + INCLUDE_SUBDIR += $(src)/csf/Kbuild endif -mali_kbase-$(CONFIG_SYNC) += \ - mali_kbase_sync_android.o \ - mali_kbase_sync_common.o - -mali_kbase-$(CONFIG_SYNC_FILE) += \ - mali_kbase_fence_ops.o \ - mali_kbase_sync_file.o \ - mali_kbase_sync_common.o - -include $(src)/backend/gpu/Kbuild -mali_kbase-y += $(BACKEND:.c=.o) - +ifeq ($(CONFIG_MALI_ARBITER_SUPPORT),y) + INCLUDE_SUBDIR += $(src)/arbiter/Kbuild +endif -ccflags-y += -I$(src)/backend/gpu -subdir-ccflags-y += -I$(src)/backend/gpu +ifeq ($(CONFIG_MALI_DEVFREQ),y) + ifeq ($(CONFIG_DEVFREQ_THERMAL),y) + INCLUDE_SUBDIR += $(src)/ipa/Kbuild + endif +endif -# For kutf and mali_kutf_irq_latency_test -obj-$(CONFIG_MALI_KUTF) += tests/ +ifeq ($(KBUILD_EXTMOD),) +# in-tree + -include $(INCLUDE_SUBDIR) +else +# out-of-tree + include $(INCLUDE_SUBDIR) +endif |