MALI: rockchip: modify to build in kernel 4.4.
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / arm / midgard / Kconfig
1 #
2 # (C) COPYRIGHT 2012-2015 ARM Limited. All rights reserved.
3 #
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
7 # of such GNU licence.
8 #
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.
12 #
13 #
14
15
16
17 menuconfig MALI_MIDGARD
18         tristate "Mali Midgard series support"
19         default n
20         help
21           Enable this option to build support for a ARM Mali Midgard GPU.
22
23           To compile this driver as a module, choose M here:
24           this will generate a single module, called mali_kbase.
25
26 choice
27         prompt "Streamline support"
28         depends on MALI_MIDGARD
29         default MALI_TIMELINE_DISABLED
30         help
31           Select streamline support configuration.
32
33 config MALI_TIMELINE_DISABLED
34         bool "Streamline support disabled"
35         help
36           Disable support for ARM Streamline Performance Analyzer.
37
38           Timeline support will not be included in
39           kernel code.
40           Debug stream will not be generated.
41
42 config MALI_GATOR_SUPPORT
43         bool "Streamline support via Gator"
44         help
45           Adds diagnostic support for use with the ARM Streamline Performance Analyzer.
46           You will need the Gator device driver already loaded before loading this driver when enabling
47           Streamline debug support.
48
49 config MALI_MIPE_ENABLED
50         bool "Streamline support via MIPE"
51         help
52           Adds diagnostic support for use with the ARM Streamline Performance Analyzer.
53
54           Stream will be transmitted directly to Mali GPU library.
55           Compatible version of the library is required to read debug stream generated by kernel.
56
57 endchoice
58
59 config MALI_MIDGARD_DVFS
60         bool "Enable legacy DVFS"
61         depends on MALI_MIDGARD && !MALI_DEVFREQ && !MALI_PLATFORM_DEVICETREE
62         default n
63         help
64           Choose this option to enable legacy DVFS in the Mali Midgard DDK.
65
66 config MALI_MIDGARD_RT_PM
67         bool "Enable Runtime power management"
68         depends on MALI_MIDGARD
69         depends on PM
70         default y
71         help
72           Choose this option to enable runtime power management in the Mali Midgard DDK.
73
74 config MALI_MIDGARD_ENABLE_TRACE
75         bool "Enable kbase tracing"
76         depends on MALI_MIDGARD
77         default n
78         help
79           Enables tracing in kbase.  Trace log available through
80           the "mali_trace" debugfs file, when the CONFIG_DEBUG_FS is enabled
81
82 config MALI_MIDGARD_DEBUG_SYS
83         bool "Enable sysfs for the Mali Midgard DDK "
84         depends on MALI_MIDGARD && SYSFS
85         default n
86         help
87           Enables sysfs for the Mali Midgard DDK. Set/Monitor the Mali Midgard DDK
88
89 config MALI_DEVFREQ
90         bool "devfreq support for Mali"
91         depends on MALI_MIDGARD && PM_DEVFREQ
92         help
93           Support devfreq for Mali.
94
95           Using the devfreq framework and, by default, the simpleondemand
96           governor, the frequency of Mali will be dynamically selected from the
97           available OPPs.
98
99
100 # MALI_EXPERT configuration options
101
102 menuconfig MALI_EXPERT
103         depends on MALI_MIDGARD
104         bool "Enable Expert Settings"
105         default n
106         help
107           Enabling this option and modifying the default settings may produce a driver with performance or
108           other limitations.
109
110 config MALI_DEBUG_SHADER_SPLIT_FS
111         bool "Allow mapping of shader cores via sysfs"
112         depends on MALI_MIDGARD && MALI_MIDGARD_DEBUG_SYS && MALI_EXPERT
113         default n
114         help
115           Select this option to provide a sysfs entry for runtime configuration of shader
116           core affinity masks.
117
118 config MALI_PLATFORM_FAKE
119         bool "Enable fake platform device support"
120         depends on MALI_MIDGARD && MALI_EXPERT
121         default n
122         help
123           When you start to work with the Mali Midgard series device driver the platform-specific code of
124           the Linux kernel for your platform may not be complete. In this situation the kernel device driver
125           supports creating the platform device outside of the Linux platform-specific code.
126           Enable this option if would like to use a platform device configuration from within the device driver.
127
128 choice
129         prompt "Platform configuration"
130         depends on MALI_MIDGARD && MALI_EXPERT
131         default MALI_PLATFORM_DEVICETREE
132         help
133           Select the SOC platform that contains a Mali Midgard GPU
134
135 config MALI_PLATFORM_DEVICETREE
136         bool "Device Tree platform"
137         depends on OF
138         help
139           Select this option to use Device Tree with the Mali driver.
140
141           When using this option the Mali driver will get the details of the
142           GPU hardware from the Device Tree. This means that the same driver
143           binary can run on multiple platforms as long as all the GPU hardware
144           details are described in the device tree.
145
146           Device Tree is the recommended method for the Mali driver platform
147           integration.
148
149 config MALI_PLATFORM_VEXPRESS
150         depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4)
151         bool "Versatile Express"
152 config MALI_PLATFORM_VEXPRESS_VIRTEX7_40MHZ
153         depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4)
154         bool "Versatile Express w/Virtex7 @ 40Mhz"
155 config MALI_PLATFORM_GOLDFISH
156         depends on ARCH_GOLDFISH
157         bool "Android Goldfish virtual CPU"
158 config MALI_PLATFORM_PBX
159         depends on ARCH_REALVIEW && REALVIEW_EB_A9MP && MACH_REALVIEW_PBX
160         bool "Realview PBX-A9"
161 config MALI_PLATFORM_THIRDPARTY
162         bool "Third Party Platform"
163 endchoice
164
165 config MALI_PLATFORM_THIRDPARTY_NAME
166         depends on MALI_MIDGARD && MALI_PLATFORM_THIRDPARTY && MALI_EXPERT
167         string "Third party platform name"
168         help
169           Enter the name of a third party platform that is supported. The third part configuration
170           file must be in midgard/config/tpip/mali_kbase_config_xxx.c where xxx is the name
171           specified here.
172
173 config MALI_DEBUG
174         bool "Debug build"
175         depends on MALI_MIDGARD && MALI_EXPERT
176         default n
177         help
178           Select this option for increased checking and reporting of errors.
179
180 config MALI_NO_MALI
181         bool "No Mali"
182         depends on MALI_MIDGARD && MALI_EXPERT
183         default n
184         help
185           This can be used to test the driver in a simulated environment
186           whereby the hardware is not physically present. If the hardware is physically
187           present it will not be used. This can be used to test the majority of the
188           driver without needing actual hardware or for software benchmarking.
189           All calls to the simulated hardware will complete immediately as if the hardware
190           completed the task.
191
192 config MALI_ERROR_INJECT
193         bool "Error injection"
194         depends on MALI_MIDGARD && MALI_EXPERT && MALI_NO_MALI
195         default n
196         help
197           Enables insertion of errors to test module failure and recovery mechanisms.
198
199 config MALI_TRACE_TIMELINE
200         bool "Timeline tracing"
201         depends on MALI_MIDGARD && MALI_EXPERT
202         default n
203         help
204           Enables timeline tracing through the kernel tracepoint system.
205
206 config MALI_SYSTEM_TRACE
207         bool "Enable system event tracing support"
208         depends on MALI_MIDGARD && MALI_EXPERT
209         default n
210         help
211           Choose this option to enable system trace events for each
212           kbase event.  This is typically used for debugging but has
213           minimal overhead when not in use. Enable only if you know what
214           you are doing.
215
216 config MALI_GPU_TRACEPOINTS
217         bool "Enable GPU tracepoints"
218         depends on MALI_MIDGARD && ANDROID
219         select GPU_TRACEPOINTS
220         help
221           Enables GPU tracepoints using Android trace event definitions.
222
223 source "drivers/gpu/arm/midgard/platform/Kconfig"