2 # (C) COPYRIGHT 2012-2015 ARM Limited. All rights reserved.
4 # This program is free software and is provided to you under the terms of the
5 # GNU General Public License version 2 as published by the Free Software
6 # Foundation, and any use by you of this program is subject to the terms
9 # A copy of the licence is included with the program, and can also be obtained
10 # from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
11 # Boston, MA 02110-1301, USA.
17 menuconfig MALI_MIDGARD
18 tristate "Mali Midgard series support"
19 select GPU_TRACEPOINTS if ANDROID
22 Enable this option to build support for a ARM Mali Midgard GPU.
24 To compile this driver as a module, choose M here:
25 this will generate a single module, called mali_kbase.
27 config MALI_GATOR_SUPPORT
28 bool "Streamline support via Gator"
29 depends on MALI_MIDGARD
32 Adds diagnostic support for use with the ARM Streamline Performance Analyzer.
33 You will need the Gator device driver already loaded before loading this driver when enabling
34 Streamline debug support.
35 This is a legacy interface required by older versions of Streamline.
37 config MALI_MIDGARD_DVFS
38 bool "Enable legacy DVFS"
39 depends on MALI_MIDGARD && !MALI_DEVFREQ && !MALI_PLATFORM_DEVICETREE
42 Choose this option to enable legacy DVFS in the Mali Midgard DDK.
44 config MALI_MIDGARD_ENABLE_TRACE
45 bool "Enable kbase tracing"
46 depends on MALI_MIDGARD
49 Enables tracing in kbase. Trace log available through
50 the "mali_trace" debugfs file, when the CONFIG_DEBUG_FS is enabled
53 bool "devfreq support for Mali"
54 depends on MALI_MIDGARD && PM_DEVFREQ
56 Support devfreq for Mali.
58 Using the devfreq framework and, by default, the simpleondemand
59 governor, the frequency of Mali will be dynamically selected from the
63 bool "DMA_BUF fence support for Mali (EXPERIMENTAL)"
64 depends on MALI_MIDGARD && !KDS
67 Support DMA_BUF fences for Mali.
69 This option should only be enabled if KDS is not present and
70 the Linux Kernel has built in support for DMA_BUF fences.
72 # MALI_EXPERT configuration options
74 menuconfig MALI_EXPERT
75 depends on MALI_MIDGARD
76 bool "Enable Expert Settings"
79 Enabling this option and modifying the default settings may produce a driver with performance or
82 config MALI_PRFCNT_SET_SECONDARY
83 bool "Use secondary set of performance counters"
84 depends on MALI_MIDGARD && MALI_EXPERT
87 Select this option to use secondary set of performance counters. Kernel
88 features that depend on an access to the primary set of counters may
89 become unavailable. Enabling this option will prevent power management
90 from working optimally and may cause instrumentation tools to return
95 config MALI_DEBUG_SHADER_SPLIT_FS
96 bool "Allow mapping of shader cores via sysfs"
97 depends on MALI_MIDGARD && MALI_EXPERT
100 Select this option to provide a sysfs entry for runtime configuration of shader
103 config MALI_PLATFORM_FAKE
104 bool "Enable fake platform device support"
105 depends on MALI_MIDGARD && MALI_EXPERT
108 When you start to work with the Mali Midgard series device driver the platform-specific code of
109 the Linux kernel for your platform may not be complete. In this situation the kernel device driver
110 supports creating the platform device outside of the Linux platform-specific code.
111 Enable this option if would like to use a platform device configuration from within the device driver.
114 prompt "Platform configuration"
115 depends on MALI_MIDGARD && MALI_EXPERT
116 default MALI_PLATFORM_DEVICETREE
118 Select the SOC platform that contains a Mali Midgard GPU
120 config MALI_PLATFORM_DEVICETREE
121 bool "Device Tree platform"
124 Select this option to use Device Tree with the Mali driver.
126 When using this option the Mali driver will get the details of the
127 GPU hardware from the Device Tree. This means that the same driver
128 binary can run on multiple platforms as long as all the GPU hardware
129 details are described in the device tree.
131 Device Tree is the recommended method for the Mali driver platform
134 config MALI_PLATFORM_VEXPRESS
135 depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4)
136 bool "Versatile Express"
137 config MALI_PLATFORM_VEXPRESS_VIRTEX7_40MHZ
138 depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4)
139 bool "Versatile Express w/Virtex7 @ 40Mhz"
140 config MALI_PLATFORM_GOLDFISH
141 depends on ARCH_GOLDFISH
142 bool "Android Goldfish virtual CPU"
143 config MALI_PLATFORM_PBX
144 depends on ARCH_REALVIEW && REALVIEW_EB_A9MP && MACH_REALVIEW_PBX
145 bool "Realview PBX-A9"
146 config MALI_PLATFORM_THIRDPARTY
147 bool "Third Party Platform"
150 config MALI_PLATFORM_THIRDPARTY_NAME
151 depends on MALI_MIDGARD && MALI_PLATFORM_THIRDPARTY && MALI_EXPERT
152 string "Third party platform name"
154 Enter the name of a third party platform that is supported. The third part configuration
155 file must be in midgard/config/tpip/mali_kbase_config_xxx.c where xxx is the name
160 depends on MALI_MIDGARD && MALI_EXPERT
163 Select this option for increased checking and reporting of errors.
167 depends on MALI_MIDGARD && MALI_EXPERT
170 This can be used to test the driver in a simulated environment
171 whereby the hardware is not physically present. If the hardware is physically
172 present it will not be used. This can be used to test the majority of the
173 driver without needing actual hardware or for software benchmarking.
174 All calls to the simulated hardware will complete immediately as if the hardware
177 config MALI_ERROR_INJECT
178 bool "Error injection"
179 depends on MALI_MIDGARD && MALI_EXPERT && MALI_NO_MALI
182 Enables insertion of errors to test module failure and recovery mechanisms.
184 config MALI_TRACE_TIMELINE
185 bool "Timeline tracing"
186 depends on MALI_MIDGARD && MALI_EXPERT
189 Enables timeline tracing through the kernel tracepoint system.
191 config MALI_SYSTEM_TRACE
192 bool "Enable system event tracing support"
193 depends on MALI_MIDGARD && MALI_EXPERT
196 Choose this option to enable system trace events for each
197 kbase event. This is typically used for debugging but has
198 minimal overhead when not in use. Enable only if you know what
201 source "drivers/gpu/arm/midgard/platform/Kconfig"