Merge tag 'linux-kselftest-4.17-rc4' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / drivers / gpu / drm / Kconfig
1 #
2 # Drm device configuration
3 #
4 # This driver provides support for the
5 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
6 #
7 menuconfig DRM
8         tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
9         depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
10         select DRM_PANEL_ORIENTATION_QUIRKS
11         select HDMI
12         select FB_CMDLINE
13         select I2C
14         select I2C_ALGOBIT
15         select DMA_SHARED_BUFFER
16         select SYNC_FILE
17         help
18           Kernel-level support for the Direct Rendering Infrastructure (DRI)
19           introduced in XFree86 4.0. If you say Y here, you need to select
20           the module that's right for your graphics card from the list below.
21           These modules provide support for synchronization, security, and
22           DMA transfers. Please see <http://dri.sourceforge.net/> for more
23           details.  You should also select and configure AGP
24           (/dev/agpgart) support if it is available for your platform.
25
26 config DRM_MIPI_DSI
27         bool
28         depends on DRM
29
30 config DRM_DP_AUX_CHARDEV
31         bool "DRM DP AUX Interface"
32         depends on DRM
33         help
34           Choose this option to enable a /dev/drm_dp_auxN node that allows to
35           read and write values to arbitrary DPCD registers on the DP aux
36           channel.
37
38 config DRM_DEBUG_MM
39         bool "Insert extra checks and debug info into the DRM range managers"
40         default n
41         depends on DRM=y
42         depends on STACKTRACE_SUPPORT
43         select STACKDEPOT
44         help
45           Enable allocation tracking of memory manager and leak detection on
46           shutdown.
47
48           Recommended for driver developers only.
49
50           If in doubt, say "N".
51
52 config DRM_DEBUG_MM_SELFTEST
53         tristate "kselftests for DRM range manager (struct drm_mm)"
54         depends on DRM
55         depends on DEBUG_KERNEL
56         select PRIME_NUMBERS
57         select DRM_LIB_RANDOM
58         default n
59         help
60           This option provides a kernel module that can be used to test
61           the DRM range manager (drm_mm) and its API. This option is not
62           useful for distributions or general kernels, but only for kernel
63           developers working on DRM and associated drivers.
64
65           If in doubt, say "N".
66
67 config DRM_KMS_HELPER
68         tristate
69         depends on DRM
70         help
71           CRTC helpers for KMS drivers.
72
73 config DRM_KMS_FB_HELPER
74         bool
75         depends on DRM_KMS_HELPER
76         select FB
77         select FRAMEBUFFER_CONSOLE if !EXPERT
78         select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
79         select FB_SYS_FOPS
80         select FB_SYS_FILLRECT
81         select FB_SYS_COPYAREA
82         select FB_SYS_IMAGEBLIT
83         select FB_CFB_FILLRECT
84         select FB_CFB_COPYAREA
85         select FB_CFB_IMAGEBLIT
86         select FB_DEFERRED_IO
87         help
88           FBDEV helpers for KMS drivers.
89
90 config DRM_FBDEV_EMULATION
91         bool "Enable legacy fbdev support for your modesetting driver"
92         depends on DRM
93         select DRM_KMS_HELPER
94         select DRM_KMS_FB_HELPER
95         default y
96         help
97           Choose this option if you have a need for the legacy fbdev
98           support. Note that this support also provides the linux console
99           support on top of your modesetting driver.
100
101           If in doubt, say "Y".
102
103 config DRM_FBDEV_OVERALLOC
104         int "Overallocation of the fbdev buffer"
105         depends on DRM_FBDEV_EMULATION
106         default 100
107         help
108           Defines the fbdev buffer overallocation in percent. Default
109           is 100. Typical values for double buffering will be 200,
110           triple buffering 300.
111
112 config DRM_LOAD_EDID_FIRMWARE
113         bool "Allow to specify an EDID data set instead of probing for it"
114         depends on DRM
115         help
116           Say Y here, if you want to use EDID data to be loaded from the
117           /lib/firmware directory or one of the provided built-in
118           data sets. This may be necessary, if the graphics adapter or
119           monitor are unable to provide appropriate EDID data. Since this
120           feature is provided as a workaround for broken hardware, the
121           default case is N. Details and instructions how to build your own
122           EDID data are given in Documentation/EDID/HOWTO.txt.
123
124 config DRM_TTM
125         tristate
126         depends on DRM && MMU
127         help
128           GPU memory management subsystem for devices with multiple
129           GPU memory types. Will be enabled automatically if a device driver
130           uses it.
131
132 config DRM_GEM_CMA_HELPER
133         bool
134         depends on DRM
135         help
136           Choose this if you need the GEM CMA helper functions
137
138 config DRM_KMS_CMA_HELPER
139         bool
140         depends on DRM
141         select DRM_GEM_CMA_HELPER
142         select DRM_KMS_FB_HELPER
143         select FB_SYS_FILLRECT
144         select FB_SYS_COPYAREA
145         select FB_SYS_IMAGEBLIT
146         help
147           Choose this if you need the KMS CMA helper functions
148
149 config DRM_VM
150         bool
151         depends on DRM && MMU
152
153 config DRM_SCHED
154         tristate
155         depends on DRM
156
157 source "drivers/gpu/drm/i2c/Kconfig"
158
159 source "drivers/gpu/drm/arm/Kconfig"
160
161 config DRM_RADEON
162         tristate "ATI Radeon"
163         depends on DRM && PCI && MMU
164         select FW_LOADER
165         select DRM_KMS_HELPER
166         select DRM_TTM
167         select POWER_SUPPLY
168         select HWMON
169         select BACKLIGHT_CLASS_DEVICE
170         select BACKLIGHT_LCD_SUPPORT
171         select INTERVAL_TREE
172         help
173           Choose this option if you have an ATI Radeon graphics card.  There
174           are both PCI and AGP versions.  You don't need to choose this to
175           run the Radeon in plain VGA mode.
176
177           If M is selected, the module will be called radeon.
178
179 source "drivers/gpu/drm/radeon/Kconfig"
180
181 config DRM_AMDGPU
182         tristate "AMD GPU"
183         depends on DRM && PCI && MMU
184         select FW_LOADER
185         select DRM_KMS_HELPER
186         select DRM_SCHED
187         select DRM_TTM
188         select POWER_SUPPLY
189         select HWMON
190         select BACKLIGHT_CLASS_DEVICE
191         select BACKLIGHT_LCD_SUPPORT
192         select INTERVAL_TREE
193         select CHASH
194         help
195           Choose this option if you have a recent AMD Radeon graphics card.
196
197           If M is selected, the module will be called amdgpu.
198
199 source "drivers/gpu/drm/amd/amdgpu/Kconfig"
200
201 source "drivers/gpu/drm/amd/lib/Kconfig"
202
203 source "drivers/gpu/drm/nouveau/Kconfig"
204
205 source "drivers/gpu/drm/i915/Kconfig"
206
207 config DRM_VGEM
208         tristate "Virtual GEM provider"
209         depends on DRM
210         help
211           Choose this option to get a virtual graphics memory manager,
212           as used by Mesa's software renderer for enhanced performance.
213           If M is selected the module will be called vgem.
214
215
216 source "drivers/gpu/drm/exynos/Kconfig"
217
218 source "drivers/gpu/drm/rockchip/Kconfig"
219
220 source "drivers/gpu/drm/vmwgfx/Kconfig"
221
222 source "drivers/gpu/drm/gma500/Kconfig"
223
224 source "drivers/gpu/drm/udl/Kconfig"
225
226 source "drivers/gpu/drm/ast/Kconfig"
227
228 source "drivers/gpu/drm/mgag200/Kconfig"
229
230 source "drivers/gpu/drm/cirrus/Kconfig"
231
232 source "drivers/gpu/drm/armada/Kconfig"
233
234 source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
235
236 source "drivers/gpu/drm/rcar-du/Kconfig"
237
238 source "drivers/gpu/drm/shmobile/Kconfig"
239
240 source "drivers/gpu/drm/sun4i/Kconfig"
241
242 source "drivers/gpu/drm/omapdrm/Kconfig"
243
244 source "drivers/gpu/drm/tilcdc/Kconfig"
245
246 source "drivers/gpu/drm/qxl/Kconfig"
247
248 source "drivers/gpu/drm/bochs/Kconfig"
249
250 source "drivers/gpu/drm/virtio/Kconfig"
251
252 source "drivers/gpu/drm/msm/Kconfig"
253
254 source "drivers/gpu/drm/fsl-dcu/Kconfig"
255
256 source "drivers/gpu/drm/tegra/Kconfig"
257
258 source "drivers/gpu/drm/stm/Kconfig"
259
260 source "drivers/gpu/drm/panel/Kconfig"
261
262 source "drivers/gpu/drm/bridge/Kconfig"
263
264 source "drivers/gpu/drm/sti/Kconfig"
265
266 source "drivers/gpu/drm/amd/amdkfd/Kconfig"
267
268 source "drivers/gpu/drm/imx/Kconfig"
269
270 source "drivers/gpu/drm/vc4/Kconfig"
271
272 source "drivers/gpu/drm/etnaviv/Kconfig"
273
274 source "drivers/gpu/drm/arc/Kconfig"
275
276 source "drivers/gpu/drm/hisilicon/Kconfig"
277
278 source "drivers/gpu/drm/mediatek/Kconfig"
279
280 source "drivers/gpu/drm/zte/Kconfig"
281
282 source "drivers/gpu/drm/mxsfb/Kconfig"
283
284 source "drivers/gpu/drm/meson/Kconfig"
285
286 source "drivers/gpu/drm/tinydrm/Kconfig"
287
288 source "drivers/gpu/drm/pl111/Kconfig"
289
290 source "drivers/gpu/drm/tve200/Kconfig"
291
292 # Keep legacy drivers last
293
294 menuconfig DRM_LEGACY
295         bool "Enable legacy drivers (DANGEROUS)"
296         depends on DRM && MMU
297         select DRM_VM
298         help
299           Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
300           APIs to user-space, which can be used to circumvent access
301           restrictions and other security measures. For backwards compatibility
302           those drivers are still available, but their use is highly
303           inadvisable and might harm your system.
304
305           You are recommended to use the safe modeset-only drivers instead, and
306           perform 3D emulation in user-space.
307
308           Unless you have strong reasons to go rogue, say "N".
309
310 if DRM_LEGACY
311
312 config DRM_TDFX
313         tristate "3dfx Banshee/Voodoo3+"
314         depends on DRM && PCI
315         help
316           Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
317           graphics card.  If M is selected, the module will be called tdfx.
318
319 config DRM_R128
320         tristate "ATI Rage 128"
321         depends on DRM && PCI
322         select FW_LOADER
323         help
324           Choose this option if you have an ATI Rage 128 graphics card.  If M
325           is selected, the module will be called r128.  AGP support for
326           this card is strongly suggested (unless you have a PCI version).
327
328 config DRM_I810
329         tristate "Intel I810"
330         # !PREEMPT because of missing ioctl locking
331         depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
332         help
333           Choose this option if you have an Intel I810 graphics card.  If M is
334           selected, the module will be called i810.  AGP support is required
335           for this driver to work.
336
337 config DRM_MGA
338         tristate "Matrox g200/g400"
339         depends on DRM && PCI
340         select FW_LOADER
341         help
342           Choose this option if you have a Matrox G200, G400 or G450 graphics
343           card.  If M is selected, the module will be called mga.  AGP
344           support is required for this driver to work.
345
346 config DRM_SIS
347         tristate "SiS video cards"
348         depends on DRM && AGP
349         depends on FB_SIS || FB_SIS=n
350         help
351           Choose this option if you have a SiS 630 or compatible video
352           chipset. If M is selected the module will be called sis. AGP
353           support is required for this driver to work.
354
355 config DRM_VIA
356         tristate "Via unichrome video cards"
357         depends on DRM && PCI
358         help
359           Choose this option if you have a Via unichrome or compatible video
360           chipset. If M is selected the module will be called via.
361
362 config DRM_SAVAGE
363         tristate "Savage video cards"
364         depends on DRM && PCI
365         help
366           Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
367           chipset. If M is selected the module will be called savage.
368
369 endif # DRM_LEGACY
370
371 # Separate option because drm_panel_orientation_quirks.c is shared with fbdev
372 config DRM_PANEL_ORIENTATION_QUIRKS
373         tristate
374
375 config DRM_LIB_RANDOM
376         bool
377         default n