xref: /OK3568_Linux_fs/kernel/drivers/gpu/arm/mali400/mali/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyunconfig MALI400
3*4882a593Smuzhiyun	tristate "Mali-300/400/450 support"
4*4882a593Smuzhiyun	depends on ARM || ARM64
5*4882a593Smuzhiyun	select DMA_SHARED_BUFFER
6*4882a593Smuzhiyun	help
7*4882a593Smuzhiyun	  This enables support for the ARM Mali-300, Mali-400, and Mali-450
8*4882a593Smuzhiyun	  GPUs.
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the module will be
11*4882a593Smuzhiyun	  called mali.
12*4882a593Smuzhiyun
13*4882a593Smuzhiyunconfig MALI450
14*4882a593Smuzhiyun	bool "Enable Mali-450 support"
15*4882a593Smuzhiyun	depends on MALI400
16*4882a593Smuzhiyun	help
17*4882a593Smuzhiyun	  This enables support for Mali-450 specific features.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyunconfig MALI470
20*4882a593Smuzhiyun	bool "Enable Mali-470 support"
21*4882a593Smuzhiyun	depends on MALI400
22*4882a593Smuzhiyun	help
23*4882a593Smuzhiyun	  This enables support for Mali-470 specific features.
24*4882a593Smuzhiyun
25*4882a593Smuzhiyunconfig MALI400_DEBUG
26*4882a593Smuzhiyun	bool "Enable debug in Mali driver"
27*4882a593Smuzhiyun	depends on MALI400
28*4882a593Smuzhiyun	help
29*4882a593Smuzhiyun	  This enabled extra debug checks and messages in the Mali driver.
30*4882a593Smuzhiyun
31*4882a593Smuzhiyunconfig MALI400_PROFILING
32*4882a593Smuzhiyun	bool "Enable Mali profiling"
33*4882a593Smuzhiyun	depends on MALI400
34*4882a593Smuzhiyun	select TRACEPOINTS
35*4882a593Smuzhiyun	default y
36*4882a593Smuzhiyun	help
37*4882a593Smuzhiyun	  This enables gator profiling of Mali GPU events.
38*4882a593Smuzhiyun
39*4882a593Smuzhiyunconfig MALI400_INTERNAL_PROFILING
40*4882a593Smuzhiyun	bool "Enable internal Mali profiling API"
41*4882a593Smuzhiyun	depends on MALI400_PROFILING
42*4882a593Smuzhiyun	default n
43*4882a593Smuzhiyun	help
44*4882a593Smuzhiyun	  This enables the internal legacy Mali profiling API.
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunconfig MALI400_UMP
47*4882a593Smuzhiyun	bool "Enable UMP support"
48*4882a593Smuzhiyun	depends on MALI400
49*4882a593Smuzhiyun	help
50*4882a593Smuzhiyun	  This enables support for the UMP memory sharing API in the Mali driver.
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunconfig MALI_DVFS
53*4882a593Smuzhiyun	bool "Enable Mali dynamically frequency change"
54*4882a593Smuzhiyun	depends on MALI400 && !MALI_DEVFREQ
55*4882a593Smuzhiyun	default y
56*4882a593Smuzhiyun	help
57*4882a593Smuzhiyun	  This enables support for dynamic change frequency of Mali with the goal of lowering power consumption.
58*4882a593Smuzhiyun
59*4882a593Smuzhiyunconfig MALI_DMA_BUF_MAP_ON_ATTACH
60*4882a593Smuzhiyun	bool "Map dma-buf attachments on attach"
61*4882a593Smuzhiyun	depends on MALI400 && DMA_SHARED_BUFFER
62*4882a593Smuzhiyun	default y
63*4882a593Smuzhiyun	help
64*4882a593Smuzhiyun	  This makes the Mali driver map dma-buf attachments after doing
65*4882a593Smuzhiyun	  attach. If this is not set the dma-buf attachments will be mapped for
66*4882a593Smuzhiyun	  every time the GPU need to access the buffer.
67*4882a593Smuzhiyun
68*4882a593Smuzhiyun	  Mapping for each access can cause lower performance.
69*4882a593Smuzhiyun
70*4882a593Smuzhiyunconfig MALI_SHARED_INTERRUPTS
71*4882a593Smuzhiyun	bool "Support for shared interrupts"
72*4882a593Smuzhiyun	depends on MALI400
73*4882a593Smuzhiyun	default n
74*4882a593Smuzhiyun	help
75*4882a593Smuzhiyun	  Adds functionality required to properly support shared interrupts.  Without this support,
76*4882a593Smuzhiyun	  the device driver will fail during insmod if it detects shared interrupts.  This also
77*4882a593Smuzhiyun	  works when the GPU is not using shared interrupts, but might have a slight performance
78*4882a593Smuzhiyun	  impact.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyunconfig MALI_PMU_PARALLEL_POWER_UP
81*4882a593Smuzhiyun	bool "Power up Mali PMU domains in parallel"
82*4882a593Smuzhiyun	depends on MALI400
83*4882a593Smuzhiyun	default n
84*4882a593Smuzhiyun	help
85*4882a593Smuzhiyun	  This makes the Mali driver power up all PMU power domains in parallel, instead of
86*4882a593Smuzhiyun	  powering up domains one by one, with a slight delay in between. Powering on all power
87*4882a593Smuzhiyun	  domains at the same time may cause peak currents higher than what some systems can handle.
88*4882a593Smuzhiyun	  These systems must not enable this option.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyunconfig MALI_DT
91*4882a593Smuzhiyun	bool "Using device tree to initialize module"
92*4882a593Smuzhiyun	depends on MALI400 && OF
93*4882a593Smuzhiyun	default n
94*4882a593Smuzhiyun	help
95*4882a593Smuzhiyun	  This enable the Mali driver to choose the device tree path to get platform resoures
96*4882a593Smuzhiyun	  and disable the old config method. Mali driver could run on the platform which the
97*4882a593Smuzhiyun	  device tree is enabled in kernel and corresponding hardware description is implemented
98*4882a593Smuzhiyun	  properly in device DTS file.
99*4882a593Smuzhiyun
100*4882a593Smuzhiyunconfig MALI_DEVFREQ
101*4882a593Smuzhiyun	bool "Using devfreq to tuning frequency"
102*4882a593Smuzhiyun	depends on MALI400 && PM_DEVFREQ
103*4882a593Smuzhiyun	select DEVFREQ_GOV_SIMPLE_ONDEMAND
104*4882a593Smuzhiyun	default n
105*4882a593Smuzhiyun	help
106*4882a593Smuzhiyun	Support devfreq for Mali.
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun	Using the devfreq framework and, by default, the simpleondemand
109*4882a593Smuzhiyun	governor, the frequency of Mali will be dynamically selected from the
110*4882a593Smuzhiyun	available OPPs.
111*4882a593Smuzhiyun
112*4882a593Smuzhiyunconfig MALI_QUIET
113*4882a593Smuzhiyun	bool "Make Mali driver very quiet"
114*4882a593Smuzhiyun	depends on MALI400 && !MALI400_DEBUG
115*4882a593Smuzhiyun	default n
116*4882a593Smuzhiyun	help
117*4882a593Smuzhiyun	  This forces the Mali driver to never print any messages.
118*4882a593Smuzhiyun
119*4882a593Smuzhiyun	  If unsure, say N.
120