summaryrefslogtreecommitdiff
path: root/mali_kbase/Kconfig
diff options
context:
space:
mode:
authorSidath Senanayake <sidaths@google.com>2021-06-17 17:58:22 +0100
committerSidath Senanayake <sidaths@google.com>2021-06-17 17:58:22 +0100
commit2bfaaa5f53c45ab7b4f6daba20e92ef6d16ab53b (patch)
tree8cd2a6a47f2a590ed7bed11afdcb9e52f7232c4f /mali_kbase/Kconfig
parentfca8613cfcf585bf9113dca96a05daea9fd89794 (diff)
downloadgpu-2bfaaa5f53c45ab7b4f6daba20e92ef6d16ab53b.tar.gz
Mali Valhall DDK r32p1 BETA KMD
Provenance: 59f633569 (collaborate/google/android/v_r32p1-00bet0) VX504X08X-BU-00000-r32p1-00bet0 - Valhall Android DDK VX504X08X-BU-60000-r32p1-00bet0 - Valhall Android Document Bundle VX504X08X-DC-11001-r32p1-00bet0 - Valhall Android DDK Software Errata VX504X08X-SW-99006-r32p1-00bet0 - Valhall Android Renderscript AOSP parts Signed-off-by: Sidath Senanayake <sidaths@google.com> Change-Id: I6c9fc6e1e9f2e58bc804eb79582ad7afaafdef1b
Diffstat (limited to 'mali_kbase/Kconfig')
-rw-r--r--mali_kbase/Kconfig345
1 files changed, 190 insertions, 155 deletions
diff --git a/mali_kbase/Kconfig b/mali_kbase/Kconfig
index 098424f..368c269 100644
--- a/mali_kbase/Kconfig
+++ b/mali_kbase/Kconfig
@@ -18,11 +18,12 @@
#
#
-
menuconfig MALI_MIDGARD
tristate "Mali Midgard series support"
select GPU_TRACEPOINTS if ANDROID
select DMA_SHARED_BUFFER
+ select PM_DEVFREQ
+ select DEVFREQ_THERMAL
default n
help
Enable this option to build support for a ARM Mali Midgard GPU.
@@ -30,20 +31,43 @@ menuconfig MALI_MIDGARD
To compile this driver as a module, choose M here:
this will generate a single module, called mali_kbase.
+if MALI_MIDGARD
+
+config MALI_PLATFORM_NAME
+ depends on MALI_MIDGARD
+ string "Platform name"
+ default "devicetree"
+ help
+ Enter the name of the desired platform configuration directory to
+ include in the build. 'platform/$(MALI_PLATFORM_NAME)/Makefile' must
+ exist.
+
+config MALI_REAL_HW
+ depends on MALI_MIDGARD
+ def_bool !MALI_NO_MALI
+
+menu "Platform specific options"
+source "drivers/gpu/arm/midgard/platform/Kconfig"
+endmenu
+
config MALI_CSF_SUPPORT
- bool "Mali CSF based GPU support"
+ bool "Enable Mali CSF based GPU support"
depends on MALI_MIDGARD=m
default n
help
Enables support for CSF based GPUs.
-config MALI_GATOR_SUPPORT
- bool "Enable Streamline tracing support"
- depends on MALI_MIDGARD
+config MALI_DEVFREQ
+ bool "Enable devfreq support for Mali"
+ depends on MALI_MIDGARD && PM_DEVFREQ
+ select DEVFREQ_GOV_SIMPLE_ONDEMAND
default y
help
- Enables kbase tracing used by the Arm Streamline Performance Analyzer.
- The tracepoints are used to derive GPU activity charts in Streamline.
+ Support devfreq for Mali.
+
+ Using the devfreq framework and, by default, the simple on-demand
+ governor, the frequency of Mali will be dynamically selected from the
+ available OPPs.
config MALI_MIDGARD_DVFS
bool "Enable legacy DVFS"
@@ -52,28 +76,25 @@ config MALI_MIDGARD_DVFS
help
Choose this option to enable legacy DVFS in the Mali Midgard DDK.
+config MALI_GATOR_SUPPORT
+ bool "Enable Streamline tracing support"
+ depends on MALI_MIDGARD
+ default y
+ help
+ Enables kbase tracing used by the Arm Streamline Performance Analyzer.
+ The tracepoints are used to derive GPU activity charts in Streamline.
+
config MALI_MIDGARD_ENABLE_TRACE
bool "Enable kbase tracing"
depends on MALI_MIDGARD
default y if MALI_DEBUG
default n
help
- Enables tracing in kbase. Trace log available through
+ Enables tracing in kbase. Trace log available through
the "mali_trace" debugfs file, when the CONFIG_DEBUG_FS is enabled
-config MALI_DEVFREQ
- bool "devfreq support for Mali"
- depends on MALI_MIDGARD && PM_DEVFREQ
- default y
- help
- Support devfreq for Mali.
-
- Using the devfreq framework and, by default, the simpleondemand
- governor, the frequency of Mali will be dynamically selected from the
- available OPPs.
-
config MALI_DMA_FENCE
- bool "DMA_BUF fence support for Mali"
+ bool "Enable DMA_BUF fence support for Mali"
depends on MALI_MIDGARD
default n
help
@@ -82,18 +103,9 @@ config MALI_DMA_FENCE
This option should only be enabled if the Linux Kernel has built in
support for DMA_BUF fences.
-config MALI_PLATFORM_NAME
- depends on MALI_MIDGARD
- string "Platform name"
- default "devicetree"
- help
- Enter the name of the desired platform configuration directory to
- include in the build. 'platform/$(MALI_PLATFORM_NAME)/Kbuild' must
- exist.
-
config MALI_ARBITER_SUPPORT
bool "Enable arbiter support for Mali"
- depends on MALI_MIDGARD
+ depends on MALI_MIDGARD && !MALI_CSF_SUPPORT
default n
help
Enable support for the arbiter interface in the driver.
@@ -102,85 +114,40 @@ config MALI_ARBITER_SUPPORT
If unsure, say N.
-# MALI_EXPERT configuration options
-
-menuconfig MALI_EXPERT
+config MALI_DMA_BUF_MAP_ON_DEMAND
+ bool "Enable map imported dma-bufs on demand"
depends on MALI_MIDGARD
- bool "Enable Expert Settings"
default n
help
- Enabling this option and modifying the default settings may produce a driver with performance or
- other limitations.
-
-config MALI_CORESTACK
- bool "Support controlling power to the GPU core stack"
- depends on MALI_MIDGARD && MALI_EXPERT
- default n
- help
- Enabling this feature on supported GPUs will let the driver powering
- on/off the GPU core stack independently without involving the Power
- Domain Controller. This should only be enabled on platforms which
- integration of the PDC to the Mali GPU is known to be problematic.
- This feature is currently only supported on t-Six and t-HEx GPUs.
-
- If unsure, say N.
-
-config MALI_DEBUG
- bool "Debug build"
- depends on MALI_MIDGARD && MALI_EXPERT
- default n
- help
- Select this option for increased checking and reporting of errors.
-
-config MALI_FENCE_DEBUG
- bool "Debug sync fence usage"
- depends on MALI_MIDGARD && MALI_EXPERT && (SYNC || SYNC_FILE)
- default y if MALI_DEBUG
- help
- Select this option to enable additional checking and reporting on the
- use of sync fences in the Mali driver.
-
- This will add a 3s timeout to all sync fence waits in the Mali
- driver, so that when work for Mali has been waiting on a sync fence
- for a long time a debug message will be printed, detailing what fence
- is causing the block, and which dependent Mali atoms are blocked as a
- result of this.
+ This option caused kbase to set up the GPU mapping of imported
+ dma-buf when needed to run atoms. This is the legacy behavior.
- The timeout can be changed at runtime through the js_soft_timeout
- device attribute, where the timeout is specified in milliseconds.
+ This is intended for testing and the option will get removed in the
+ future.
-config MALI_NO_MALI
- bool "No Mali"
- depends on MALI_MIDGARD && MALI_EXPERT
+config MALI_DMA_BUF_LEGACY_COMPAT
+ bool "Enable legacy compatibility cache flush on dma-buf map"
+ depends on MALI_MIDGARD && !MALI_DMA_BUF_MAP_ON_DEMAND
default n
help
- This can be used to test the driver in a simulated environment
- whereby the hardware is not physically present. If the hardware is physically
- present it will not be used. This can be used to test the majority of the
- driver without needing actual hardware or for software benchmarking.
- All calls to the simulated hardware will complete immediately as if the hardware
- completed the task.
+ This option enables compatibility with legacy dma-buf mapping
+ behavior, then the dma-buf is mapped on import, by adding cache
+ maintenance where MALI_DMA_BUF_MAP_ON_DEMAND would do the mapping,
+ including a cache flush.
-config MALI_REAL_HW
- def_bool !MALI_NO_MALI
+ This option might work-around issues related to missing cache
+ flushes in other drivers. This only has an effect for clients using
+ UK 11.18 or older. For later UK versions it is not possible.
-config MALI_ERROR_INJECT
- bool "Error injection"
- depends on MALI_MIDGARD && MALI_EXPERT && MALI_NO_MALI
+menuconfig MALI_EXPERT
+ depends on MALI_MIDGARD
+ bool "Enable Expert Settings"
default n
help
- Enables insertion of errors to test module failure and recovery mechanisms.
+ Enabling this option and modifying the default settings may produce
+ a driver with performance or other limitations.
-config MALI_SYSTEM_TRACE
- bool "Enable system event tracing support"
- depends on MALI_MIDGARD && MALI_EXPERT
- default y if MALI_DEBUG
- default n
- help
- Choose this option to enable system trace events for each
- kbase event. This is typically used for debugging but has
- minimal overhead when not in use. Enable only if you know what
- you are doing.
+if MALI_EXPERT
config MALI_2MB_ALLOC
bool "Attempt to allocate 2MB pages"
@@ -193,20 +160,8 @@ config MALI_2MB_ALLOC
If in doubt, say N
-config MALI_PWRSOFT_765
- bool "PWRSOFT-765 ticket"
- depends on MALI_MIDGARD && MALI_EXPERT
- default n
- help
- PWRSOFT-765 fixes devfreq cooling devices issues. The fix was merged
- in kernel v4.10, however if backported into the kernel then this
- option must be manually selected.
-
- If using kernel >= v4.10 then say N, otherwise if devfreq cooling
- changes have been backported say Y to avoid compilation errors.
-
config MALI_MEMORY_FULLY_BACKED
- bool "Memory fully physically-backed"
+ bool "Enable memory fully physically-backed"
depends on MALI_MIDGARD && MALI_EXPERT
default n
help
@@ -215,76 +170,92 @@ config MALI_MEMORY_FULLY_BACKED
option only affects allocations of grow-on-GPU-page-fault
memory.
-config MALI_DMA_BUF_MAP_ON_DEMAND
- bool "Map imported dma-bufs on demand"
- depends on MALI_MIDGARD
+config MALI_CORESTACK
+ bool "Enable support of GPU core stack power control"
+ depends on MALI_MIDGARD && MALI_EXPERT
default n
help
- This option caused kbase to set up the GPU mapping of imported
- dma-buf when needed to run atoms. This is the legacy behaviour.
-
- This is intended for testing and the option will get removed in the
- future.
+ Enabling this feature on supported GPUs will let the driver powering
+ on/off the GPU core stack independently without involving the Power
+ Domain Controller. This should only be enabled on platforms which
+ integration of the PDC to the Mali GPU is known to be problematic.
+ This feature is currently only supported on t-Six and t-HEx GPUs.
-config MALI_DMA_BUF_LEGACY_COMPAT
- bool "Enable legacy compatibility cache flush on dma-buf map"
- depends on MALI_MIDGARD && !MALI_DMA_BUF_MAP_ON_DEMAND
- default n
- help
- This option enables compatibility with legacy dma-buf mapping
- behavior, then the dma-buf is mapped on import, by adding cache
- maintenance where MALI_DMA_BUF_MAP_ON_DEMAND would do the mapping,
- including a cache flush.
+ If unsure, say N.
- This option might work-around issues related to missing cache
- flushes in other drivers. This only has an effect for clients using
- UK 11.18 or older. For later UK versions it is not possible.
+comment "Platform options"
+ depends on MALI_MIDGARD && MALI_EXPERT
-config MALI_HW_ERRATA_1485982_NOT_AFFECTED
- bool "Disable workaround for BASE_HW_ISSUE_GPU2017_1336"
+config MALI_NO_MALI
+ bool "Enable No Mali"
depends on MALI_MIDGARD && MALI_EXPERT
default n
help
- This option disables the default workaround for GPU2017-1336. The
- workaround keeps the L2 cache powered up except for powerdown and reset.
-
- The workaround introduces a limitation that will prevent the running of
- protected mode content on fully coherent platforms, as the switch to IO
- coherency mode requires the L2 to be turned off.
+ This can be used to test the driver in a simulated environment
+ whereby the hardware is not physically present. If the hardware is physically
+ present it will not be used. This can be used to test the majority of the
+ driver without needing actual hardware or for software benchmarking.
+ All calls to the simulated hardware will complete immediately as if the hardware
+ completed the task.
-config MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE
- bool "Use alternative workaround for BASE_HW_ISSUE_GPU2017_1336"
- depends on MALI_MIDGARD && MALI_EXPERT && !MALI_HW_ERRATA_1485982_NOT_AFFECTED
+config MALI_ERROR_INJECT
+ bool "Enable No Mali error injection"
+ depends on MALI_MIDGARD && MALI_EXPERT && MALI_NO_MALI
default n
help
- This option uses an alternative workaround for GPU2017-1336. Lowering
- the GPU clock to a, platform specific, known good frequeuncy before
- powering down the L2 cache. The clock can be specified in the device
- tree using the property, opp-mali-errata-1485982. Otherwise the
- slowest clock will be selected.
+ Enables insertion of errors to test module failure and recovery mechanisms.
config MALI_GEM5_BUILD
bool "Enable build of Mali kernel driver for GEM5"
- depends on MALI_MIDGARD
+ depends on MALI_MIDGARD && MALI_EXPERT
default n
help
This option is to do a Mali GEM5 build.
If unsure, say N.
-# Instrumentation options.
+comment "Debug options"
+ depends on MALI_MIDGARD && MALI_EXPERT
-config MALI_JOB_DUMP
- bool "Enable system level support needed for job dumping"
+config MALI_DEBUG
+ bool "Enable debug build"
depends on MALI_MIDGARD && MALI_EXPERT
default n
help
- Choose this option to enable system level support needed for
- job dumping. This is typically used for instrumentation but has
+ Select this option for increased checking and reporting of errors.
+
+config MALI_FENCE_DEBUG
+ bool "Enable debug sync fence usage"
+ depends on MALI_MIDGARD && MALI_EXPERT && (SYNC || SYNC_FILE)
+ default y if MALI_DEBUG
+ help
+ Select this option to enable additional checking and reporting on the
+ use of sync fences in the Mali driver.
+
+ This will add a 3s timeout to all sync fence waits in the Mali
+ driver, so that when work for Mali has been waiting on a sync fence
+ for a long time a debug message will be printed, detailing what fence
+ is causing the block, and which dependent Mali atoms are blocked as a
+ result of this.
+
+ The timeout can be changed at runtime through the js_soft_timeout
+ device attribute, where the timeout is specified in milliseconds.
+
+config MALI_SYSTEM_TRACE
+ bool "Enable system event tracing support"
+ depends on MALI_MIDGARD && MALI_EXPERT
+ default y if MALI_DEBUG
+ default n
+ help
+ Choose this option to enable system trace events for each
+ kbase event. This is typically used for debugging but has
minimal overhead when not in use. Enable only if you know what
you are doing.
+comment "Instrumentation options"
+ depends on MALI_MIDGARD && MALI_EXPERT
+
choice
- prompt "Performance counters set"
+ prompt "Select Performance counters set"
default MALI_PRFCNT_SET_PRIMARY
depends on MALI_MIDGARD && MALI_EXPERT
@@ -321,7 +292,7 @@ config MALI_PRFCNT_SET_TERTIARY
endchoice
config MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS
- bool "Allow runtime selection of performance counters set via debugfs"
+ bool "Enable runtime selection of performance counters set via debugfs"
depends on MALI_MIDGARD && MALI_EXPERT && DEBUG_FS
default n
help
@@ -343,5 +314,69 @@ config MALI_PRFCNT_SET_SELECT_VIA_DEBUG_FS
If unsure, say N.
-source "drivers/gpu/arm/midgard/platform/Kconfig"
+config MALI_JOB_DUMP
+ bool "Enable system level support needed for job dumping"
+ depends on MALI_MIDGARD && MALI_EXPERT
+ default n
+ help
+ Choose this option to enable system level support needed for
+ job dumping. This is typically used for instrumentation but has
+ minimal overhead when not in use. Enable only if you know what
+ you are doing.
+
+comment "Workarounds"
+ depends on MALI_MIDGARD && MALI_EXPERT
+
+config MALI_PWRSOFT_765
+ bool "Enable workaround for PWRSOFT-765"
+ depends on MALI_MIDGARD && MALI_EXPERT
+ default n
+ help
+ PWRSOFT-765 fixes devfreq cooling devices issues. The fix was merged
+ in kernel v4.10, however if backported into the kernel then this
+ option must be manually selected.
+
+ If using kernel >= v4.10 then say N, otherwise if devfreq cooling
+ changes have been backported say Y to avoid compilation errors.
+
+config MALI_HW_ERRATA_1485982_NOT_AFFECTED
+ bool "Disable workaround for BASE_HW_ISSUE_GPU2017_1336"
+ depends on MALI_MIDGARD && MALI_EXPERT
+ default n
+ help
+ This option disables the default workaround for GPU2017-1336. The
+ workaround keeps the L2 cache powered up except for powerdown and reset.
+
+ The workaround introduces a limitation that will prevent the running of
+ protected mode content on fully coherent platforms, as the switch to IO
+ coherency mode requires the L2 to be turned off.
+
+config MALI_HW_ERRATA_1485982_USE_CLOCK_ALTERNATIVE
+ bool "Use alternative workaround for BASE_HW_ISSUE_GPU2017_1336"
+ depends on MALI_MIDGARD && MALI_EXPERT && !MALI_HW_ERRATA_1485982_NOT_AFFECTED
+ default n
+ help
+ This option uses an alternative workaround for GPU2017-1336. Lowering
+ the GPU clock to a, platform specific, known good frequency before
+ powering down the L2 cache. The clock can be specified in the device
+ tree using the property, opp-mali-errata-1485982. Otherwise the
+ slowest clock will be selected.
+
+endif
+
+config MALI_ARBITRATION
+ bool "Enable Virtualization reference code"
+ depends on MALI_MIDGARD
+ default n
+ help
+ Enables the build of several reference modules used in the reference
+ virtualization setup for Mali
+ If unsure, say N.
+
+if MALI_ARBITRATION
+source "drivers/gpu/arm/midgard/arbitration/Kconfig"
+endif
+
source "drivers/gpu/arm/midgard/tests/Kconfig"
+
+endif