# # (C) COPYRIGHT 2012-2018 ARM Limited. All rights reserved. # # This program is free software and is provided to you under the terms of the # GNU General Public License version 2 as published by the Free Software # Foundation, and any use by you of this program is subject to the terms # of such GNU licence. # # A copy of the licence is included with the program, and can also be obtained # from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. # # menuconfig MALI_MIDGARD bool "Mali Midgard series support" default y help Enable this option to build support for a ARM Mali Midgard GPU. To compile this driver as a module, choose M here: this will generate a single module, called mali_kbase. config MALI_GATOR_SUPPORT bool "Enable Streamline tracing support" depends on MALI_MIDGARD && !BACKEND_USER default n 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_DVFS bool "Enable legacy DVFS" depends on MALI_MIDGARD && !MALI_DEVFREQ default n help Choose this option to enable legacy DVFS in the Mali Midgard DDK. config MALI_MIDGARD_ENABLE_TRACE bool "Enable kbase tracing" depends on MALI_MIDGARD default n help 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 default y if PLATFORM_JUNO default y if PLATFORM_CUSTOM 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" depends on MALI_MIDGARD default n help Support DMA_BUF fences for Mali. 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 "arndale" if PLATFORM_ARNDALE default "arndale_octa" if PLATFORM_ARNDALE_OCTA default "rk" if PLATFORM_FIREFLY default "hisilicon" if PLATFORM_HIKEY960 default "hisilicon" if PLATFORM_HIKEY970 default "vexpress" if PLATFORM_VEXPRESS default "devicetree" help Enter the name of the desired platform configuration directory to include in the build. 'platform/$(MALI_PLATFORM_NAME)/Kbuild' must exist. When PLATFORM_CUSTOM is set, this needs to be set manually to pick up the desired platform files. # MALI_EXPERT configuration options menuconfig MALI_EXPERT depends on MALI_MIDGARD bool "Enable Expert Settings" default y 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 y if DEBUG 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 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_ERROR_INJECT bool "Error injection" depends on MALI_MIDGARD && MALI_EXPERT && NO_MALI default n help Enables insertion of errors to test module failure and recovery mechanisms. config MALI_ERROR_INJECT_RANDOM bool "Random error injection" depends on MALI_MIDGARD && MALI_EXPERT && NO_MALI && MALI_ERROR_INJECT default n help Injected errors are random, rather than user-driven. config MALI_SYSTEM_TRACE bool "Enable system event tracing support" depends on MALI_MIDGARD && MALI_EXPERT 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. config MALI_2MB_ALLOC bool "Attempt to allocate 2MB pages" depends on MALI_MIDGARD && MALI_EXPERT default n help Rather than allocating all GPU memory page-by-page, attempt to allocate 2MB pages from the kernel. This reduces TLB pressure and helps to prevent memory fragmentation. If in doubt, say N config MALI_FPGA_BUS_LOGGER bool "Enable bus log integration" depends on MALI_MIDGARD && MALI_EXPERT default 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. However, they are not merged in mainline kernel yet. So this define helps to guard those parts of the code. # Instrumentation options. # config MALI_JOB_DUMP exists in the Kernel Kconfig but is configured using CINSTR_JOB_DUMP in Mconfig. # config MALI_PRFCNT_SET_SECONDARY exists in the Kernel Kconfig but is configured using CINSTR_SECONDARY_HWC in Mconfig. source "kernel/drivers/gpu/arm/b_r16p0/tests/Mconfig"