summaryrefslogtreecommitdiff
path: root/mali_kbase/Makefile
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2021-09-14 16:52:55 -0700
committerJesse Hall <jessehall@google.com>2021-09-14 16:52:55 -0700
commit9c0c2ac738194c9cd2ced31d92a606826c252cd4 (patch)
tree8d8af59309745fc72554c14c930ebd31cca34a56 /mali_kbase/Makefile
parent187e9ab8e71a5e648a3db379ceef43818afc7e1f (diff)
parentb2f3e45b252b412e220522adb6cf720ed2f1a4ae (diff)
downloadgpu-9c0c2ac738194c9cd2ced31d92a606826c252cd4.tar.gz
Merge android12-gs-pixel-5.10-sc into android13-gs-pixel-5.10
This only merges up to the r32p1-beta integration. Later changes from the source branch will come in a subsequent merge. Bug: 199213963 Signed-off-by: Jesse Hall <jessehall@google.com> Change-Id: Ie6d84bbddeba5dcf372d3610f008055e5ea36e23
Diffstat (limited to 'mali_kbase/Makefile')
-rw-r--r--mali_kbase/Makefile236
1 files changed, 195 insertions, 41 deletions
diff --git a/mali_kbase/Makefile b/mali_kbase/Makefile
index c10634d..c90b039 100644
--- a/mali_kbase/Makefile
+++ b/mali_kbase/Makefile
@@ -18,64 +18,218 @@
#
#
-# Handle Android Common Kernel source naming
KERNEL_SRC ?= /lib/modules/$(shell uname -r)/build
KDIR ?= $(KERNEL_SRC)
# Ensure build intermediates are in OUT_DIR instead of alongside the source
M ?= $(shell pwd)
-# out-of-tree
-ifeq ($(KBUILD_EXTMOD),)
-export CONFIG_MALI_MIDGARD?=m
+ifeq ($(KDIR),)
+ $(error Must specify KDIR to point to the kernel to target))
+endif
-ifneq ($(CONFIG_MALI_MIDGARD),n)
-export CONFIG_MALI_CSF_SUPPORT?=y
-export CONFIG_MALI_KUTF?=n
-export CONFIG_MALI_REAL_HW?=y
-# Handle default y/m in Kconfig
-export CONFIG_MALI_GATOR_SUPPORT?=y
-export CONFIG_MALI_DEVFREQ?=n
-ifneq ($(CONFIG_PM_DEVFREQ),n)
-export CONFIG_MALI_DEVFREQ?=y
-endif
+#
+# Pixel integration configuration values
+#
-DEFINES += -DCONFIG_MALI_MIDGARD=$(CONFIG_MALI_MIDGARD) \
- -DCONFIG_MALI_CSF_SUPPORT=$(CONFIF_MALI_CSF_SUPPORT) \
- -DCONFIG_MALI_KUTF=$(CONFIG_MALI_KUTF) \
- -DCONFIG_MALI_REAL_HW=$(CONFIG_MALI_REAL_HW) \
- -DCONFIG_MALI_GATOR_SUPPORT=$(CONFIG_MALI_GATOR_SUPPORT) \
- -DCONFIG_MALI_DEVFREQ=$(CONFIG_MALI_DEVFREQ)
+# Core kbase configuration options
+CONFIG_MALI_EXPERT=y
+CONFIG_MALI_MIDGARD_DVFS=y
+CONFIG_MALI_CSF_SUPPORT?=y
-export DEFINES
+# Pixel integration specific configuration options
+CONFIG_MALI_PLATFORM_NAME="pixel"
+CONFIG_MALI_PIXEL_GPU_QOS=n
+CONFIG_MALI_PIXEL_GPU_BTS=n
+CONFIG_MALI_PIXEL_GPU_THERMAL=y
+CONFIG_MALI_PIXEL_GPU_SECURE_RENDERING=n
-# Pixel integration exports
-export CONFIG_MALI_EXPERT=y
-export CONFIG_MALI_MIDGARD_DVFS=y
-export CONFIG_MALI_PLATFORM_NAME="pixel"
-export CONFIG_MALI_PIXEL_GPU_QOS=n
-export CONFIG_MALI_PIXEL_GPU_BTS=n
-export CONFIG_MALI_PIXEL_GPU_THERMAL=y
-export CONFIG_MALI_PIXEL_GPU_SECURE_RENDERING=n
-endif
-endif
+#
+# Default configuration values
+#
+# Dependency resolution is done through statements as Kconfig
+# is not supported for out-of-tree builds.
+#
+
+CONFIG_MALI_MIDGARD ?= m
+ifeq ($(CONFIG_MALI_MIDGARD),m)
+ CONFIG_MALI_GATOR_SUPPORT ?= y
+ CONFIG_MALI_ARBITRATION ?= n
+
+ ifneq ($(CONFIG_MALI_NO_MALI),y)
+ # Prevent misuse when CONFIG_MALI_NO_MALI=y
+ CONFIG_MALI_REAL_HW ?= y
+ endif
+
+ ifeq ($(CONFIG_MALI_MIDGARD_DVFS),y)
+ # Prevent misuse when CONFIG_MALI_MIDGARD_DVFS=y
+ CONFIG_MALI_DEVFREQ ?= n
+ else
+ CONFIG_MALI_DEVFREQ ?= y
+ endif
+
+ ifeq ($(CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND), y)
+ # Prevent misuse when CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND=y
+ CONFIG_MALI_DMA_BUF_LEGACY_COMPAT = n
+ endif
+
+ #
+ # Expert/Debug/Test released configurations
+ #
+ ifeq ($(CONFIG_MALI_EXPERT), y)
+ ifeq ($(CONFIG_MALI_NO_MALI), y)
+ CONFIG_MALI_REAL_HW = n
+ else
+ # Prevent misuse when CONFIG_MALI_NO_MALI=n
+ CONFIG_MALI_REAL_HW = y
+ CONFIG_MALI_ERROR_INJECT = n
+ endif
-BUSLOG_PATH_RELATIVE = $(M)/../../../..
-KBASE_PATH_RELATIVE = $(M)
+ ifeq ($(CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED), y)
+ # Prevent misuse when CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED=y
+ CONFIG_MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE = n
+ endif
-ifeq ($(CONFIG_MALI_BUSLOG),y)
-#Add bus logger symbols
-EXTRA_SYMBOLS += $(BUSLOG_PATH_RELATIVE)/drivers/base/bus_logger/Module.symvers
+ ifeq ($(CONFIG_MALI_DEBUG), y)
+ CONFIG_MALI_MIDGARD_ENABLE_TRACE ?= y
+ CONFIG_MALI_SYSTEM_TRACE ?= y
+
+ ifeq ($(CONFIG_SYNC), y)
+ CONFIG_MALI_FENCE_DEBUG ?= y
+ else
+ ifeq ($(CONFIG_SYNC_FILE), y)
+ CONFIG_MALI_FENCE_DEBUG ?= y
+ else
+ CONFIG_MALI_FENCE_DEBUG = n
+ endif
+ endif
+ else
+ # Prevent misuse when CONFIG_MALI_DEBUG=n
+ CONFIG_MALI_MIDGARD_ENABLE_TRACE = n
+ CONFIG_MALI_SYSTEM_TRACE = n
+ CONFIG_MALI_FENCE_DEBUG = n
+ endif
+ else
+ # Prevent misuse when CONFIG_MALI_EXPERT=n
+ CONFIG_MALI_CORESTACK = n
+ CONFIG_MALI_2MB_ALLOC = n
+ CONFIG_MALI_PWRSOFT_765 = n
+ CONFIG_MALI_MEMORY_FULLY_BACKED = n
+ CONFIG_MALI_JOB_DUMP = n
+ CONFIG_MALI_NO_MALI = n
+ CONFIG_MALI_REAL_HW = y
+ CONFIG_MALI_ERROR_INJECT = n
+ CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED = n
+ CONFIG_MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE = n
+ CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS = n
+ CONFIG_MALI_DEBUG = n
+ CONFIG_MALI_MIDGARD_ENABLE_TRACE = n
+ CONFIG_MALI_SYSTEM_TRACE = n
+ CONFIG_MALI_FENCE_DEBUG = n
+ endif
+
+ ifeq ($(CONFIG_MALI_DEBUG), y)
+ CONFIG_MALI_KUTF ?= y
+ ifeq ($(CONFIG_MALI_KUTF), y)
+ CONFIG_MALI_KUTF_IRQ_TEST ?= y
+ CONFIG_MALI_KUTF_CLK_RATE_TRACE ?= y
+ else
+ # Prevent misuse when CONFIG_MALI_KUTF=n
+ CONFIG_MALI_KUTF_IRQ_TEST = n
+ CONFIG_MALI_KUTF_CLK_RATE_TRACE = n
+ endif
+ else
+ # Prevent misuse when CONFIG_MALI_DEBUG=n
+ CONFIG_MALI_KUTF = n
+ CONFIG_MALI_KUTF_IRQ_TEST = n
+ CONFIG_MALI_KUTF_CLK_RATE_TRACE = n
+ endif
+else
+ # Prevent misuse when CONFIG_MALI_MIDGARD=n
+ CONFIG_MALI_ARBITRATION = n
+ CONFIG_MALI_KUTF = n
+ CONFIG_MALI_KUTF_IRQ_TEST = n
+ CONFIG_MALI_KUTF_CLK_RATE_TRACE = n
endif
-# we get the symbols from modules using KBUILD_EXTRA_SYMBOLS to prevent warnings about unknown functions
-modules:
- $(MAKE) -C $(KDIR) M=$(M) W=1 EXTRA_CFLAGS="-I$(M) -I$(M)/../common/include -I$(M)/../../../../tests/include $(SCONS_CFLAGS)" $(SCONS_CONFIGS) KBUILD_EXTRA_SYMBOLS="$(EXTRA_SYMBOLS)" modules $(@)
+# All Mali CONFIG should be listed here
+CONFIGS := \
+ CONFIG_MALI_MIDGARD \
+ CONFIG_MALI_CSF_SUPPORT \
+ CONFIG_MALI_GATOR_SUPPORT \
+ CONFIG_MALI_DMA_FENCE \
+ CONFIG_MALI_ARBITER_SUPPORT \
+ CONFIG_MALI_ARBITRATION \
+ CONFIG_MALI_PARTITION_MANAGER \
+ CONFIG_MALI_REAL_HW \
+ CONFIG_MALI_GEM5_BUILD \
+ CONFIG_MALI_DEVFREQ \
+ CONFIG_MALI_MIDGARD_DVFS \
+ CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND \
+ CONFIG_MALI_DMA_BUF_LEGACY_COMPAT \
+ CONFIG_MALI_EXPERT \
+ CONFIG_MALI_CORESTACK \
+ CONFIG_MALI_2MB_ALLOC \
+ CONFIG_MALI_PWRSOFT_765 \
+ CONFIG_MALI_MEMORY_FULLY_BACKED \
+ CONFIG_MALI_JOB_DUMP \
+ CONFIG_MALI_NO_MALI \
+ CONFIG_MALI_ERROR_INJECT \
+ CONFIG_MALI_HW_ERRATA_1485982_NOT_AFFECTED \
+ CONFIG_MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE \
+ CONFIG_MALI_PRFCNT_SET_PRIMARY \
+ CONFIG_MALI_PRFCNT_SET_SECONDARY \
+ CONFIG_MALI_PRFCNT_SET_TERTIARY \
+ CONFIG_MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS \
+ CONFIG_MALI_DEBUG \
+ CONFIG_MALI_MIDGARD_ENABLE_TRACE \
+ CONFIG_MALI_SYSTEM_TRACE \
+ CONFIG_MALI_FENCE_DEBUG \
+ CONFIG_MALI_KUTF \
+ CONFIG_MALI_KUTF_IRQ_TEST \
+ CONFIG_MALI_KUTF_CLK_RATE_TRACE
+
+# Pixel integration CONFIG options
+CONFIGS += \
+ CONFIG_MALI_PIXEL_GPU_QOS \
+ CONFIG_MALI_PIXEL_GPU_BTS \
+ CONFIG_MALI_PIXEL_GPU_THERMAL \
+ CONFIG_MALI_PIXEL_GPU_SECURE_RENDERING
+
+
+#
+# MAKE_ARGS to pass the custom CONFIGs on out-of-tree build
+#
+# Generate the list of CONFIGs and values.
+# $(value config) is the name of the CONFIG option.
+# $(value $(value config)) is its value (y, m).
+# When the CONFIG is not set to y or m, it defaults to n.
+MAKE_ARGS := $(foreach config,$(CONFIGS), \
+ $(if $(filter y m,$(value $(value config))), \
+ $(value config)=$(value $(value config)), \
+ $(value config)=n))
+
+#
+# EXTRA_CFLAGS to define the custom CONFIGs on out-of-tree build
+#
+# Generate the list of CONFIGs defines with values from CONFIGS.
+# $(value config) is the name of the CONFIG option.
+# When set to y or m, the CONFIG gets defined to 1.
+EXTRA_CFLAGS := $(foreach config,$(CONFIGS), \
+ $(if $(filter y m,$(value $(value config))), \
+ -D$(value config)=1))
+
+#
+# KBUILD_EXTRA_SYMBOLS to prevent warnings about unknown functions
+#
+
+all:
+ $(MAKE) -C $(KDIR) M=$(M) W=1 $(MAKE_ARGS) EXTRA_CFLAGS="$(EXTRA_CFLAGS)" KBUILD_EXTRA_SYMBOLS="$(EXTRA_SYMBOLS)" modules
modules_install:
- $(MAKE) -C $(KDIR) M=$(M) modules_install
+ $(MAKE) -C $(KDIR) M=$(M) W=1 $(MAKE_ARGS) modules_install
clean:
- $(MAKE) -C $(KDIR) M=$(M) clean
+ $(MAKE) -C $(KDIR) M=$(M) W=1 $(MAKE_ARGS) clean