blob: 29146fa83001baa7fc2eac899d76d4e7cfa5995f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#
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#
Randy Dunlap179b0252007-10-16 01:29:39 -07007menuconfig DRM
Linus Torvalds1da177e2005-04-16 15:20:36 -07008 tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
Geert Uytterhoevencc6a36f2013-08-18 12:54:25 +02009 depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && MMU && HAS_DMA
Thierry Reding10a85122012-11-21 15:31:35 +010010 select HDMI
Chris Wilsoneaf99c72014-08-06 10:08:32 +020011 select FB_CMDLINE
Dave Airlie57a62972008-12-13 18:21:08 +100012 select I2C
13 select I2C_ALGOBIT
Dave Airlie32488772011-11-25 15:21:02 +000014 select DMA_SHARED_BUFFER
Gustavo Padovan96260142016-11-15 22:06:39 +090015 select SYNC_FILE
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 help
17 Kernel-level support for the Direct Rendering Infrastructure (DRI)
18 introduced in XFree86 4.0. If you say Y here, you need to select
19 the module that's right for your graphics card from the list below.
20 These modules provide support for synchronization, security, and
21 DMA transfers. Please see <http://dri.sourceforge.net/> for more
22 details. You should also select and configure AGP
Jordan Crousedcdb1672010-05-27 13:40:25 -060023 (/dev/agpgart) support if it is available for your platform.
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
Andrzej Hajda068a0022013-12-04 16:35:12 +010025config DRM_MIPI_DSI
26 bool
27 depends on DRM
28
Rafael Antognollie94cb372016-01-21 15:10:19 -080029config DRM_DP_AUX_CHARDEV
30 bool "DRM DP AUX Interface"
31 depends on DRM
32 help
33 Choose this option to enable a /dev/drm_dp_auxN node that allows to
34 read and write values to arbitrary DPCD registers on the DP aux
35 channel.
36
Chris Wilson57056702016-10-31 09:08:06 +000037config DRM_DEBUG_MM
38 bool "Insert extra checks and debug info into the DRM range managers"
39 default n
Chris Wilsoncd456f82016-11-08 13:19:17 +000040 depends on DRM=y
Chris Wilson4b514e12016-11-09 14:39:06 +000041 depends on STACKTRACE_SUPPORT
Chris Wilson57056702016-10-31 09:08:06 +000042 select STACKDEPOT
43 help
44 Enable allocation tracking of memory manager and leak detection on
45 shutdown.
46
47 Recommended for driver developers only.
48
49 If in doubt, say "N".
50
Chris Wilson50f00332016-12-22 08:36:09 +000051config DRM_DEBUG_MM_SELFTEST
52 tristate "kselftests for DRM range manager (struct drm_mm)"
53 depends on DRM
54 depends on DEBUG_KERNEL
55 select PRIME_NUMBERS
56 select DRM_LIB_RANDOM
57 default n
58 help
59 This option provides a kernel module that can be used to test
60 the DRM range manager (drm_mm) and its API. This option is not
61 useful for distributions or general kernels, but only for kernel
62 developers working on DRM and associated drivers.
63
64 If in doubt, say "N".
65
Dave Airlie6fcefd52009-09-08 11:08:32 +100066config DRM_KMS_HELPER
Dave Airlie13a81952009-09-07 15:45:33 +100067 tristate
68 depends on DRM
Daniel Vetter92b6f892013-10-08 17:44:47 +020069 help
70 CRTC helpers for KMS drivers.
71
72config DRM_KMS_FB_HELPER
73 bool
74 depends on DRM_KMS_HELPER
Dave Airlie13a81952009-09-07 15:45:33 +100075 select FB
David Rientjes6a108a12011-01-20 14:44:16 -080076 select FRAMEBUFFER_CONSOLE if !EXPERT
Dave Airliebf5192e2011-04-22 07:51:33 +100077 select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
Archit Tanejacbb1a822015-07-31 16:21:41 +053078 select FB_SYS_FOPS
Archit Taneja742547b2015-07-31 16:21:42 +053079 select FB_SYS_FILLRECT
80 select FB_SYS_COPYAREA
81 select FB_SYS_IMAGEBLIT
82 select FB_CFB_FILLRECT
83 select FB_CFB_COPYAREA
84 select FB_CFB_IMAGEBLIT
Noralf Trønneseaa434d2016-04-28 17:18:33 +020085 select FB_DEFERRED_IO
Dave Airlie13a81952009-09-07 15:45:33 +100086 help
Daniel Vetter92b6f892013-10-08 17:44:47 +020087 FBDEV helpers for KMS drivers.
Dave Airlie13a81952009-09-07 15:45:33 +100088
Archit Tanejaa03fdcb2015-08-05 12:28:57 +053089config DRM_FBDEV_EMULATION
90 bool "Enable legacy fbdev support for your modesetting driver"
91 depends on DRM
92 select DRM_KMS_HELPER
93 select DRM_KMS_FB_HELPER
94 default y
95 help
96 Choose this option if you have a need for the legacy fbdev
97 support. Note that this support also provides the linux console
98 support on top of your modesetting driver.
99
100 If in doubt, say "Y".
101
Carsten Emdeda0df922012-03-18 22:37:33 +0100102config DRM_LOAD_EDID_FIRMWARE
103 bool "Allow to specify an EDID data set instead of probing for it"
104 depends on DRM_KMS_HELPER
105 help
106 Say Y here, if you want to use EDID data to be loaded from the
107 /lib/firmware directory or one of the provided built-in
108 data sets. This may be necessary, if the graphics adapter or
109 monitor are unable to provide appropriate EDID data. Since this
110 feature is provided as a workaround for broken hardware, the
111 default case is N. Details and instructions how to build your own
112 EDID data are given in Documentation/EDID/HOWTO.txt.
113
Thomas Hellstromba4e7d92009-06-10 15:20:19 +0200114config DRM_TTM
Jerome Glisse771fe6b2009-06-05 14:42:42 +0200115 tristate
Thomas Hellstromba4e7d92009-06-10 15:20:19 +0200116 depends on DRM
117 help
118 GPU memory management subsystem for devices with multiple
119 GPU memory types. Will be enabled automatically if a device driver
120 uses it.
121
Sascha Hauerb9d47452012-06-27 15:30:18 +0200122config DRM_GEM_CMA_HELPER
123 bool
Christoph Hellwige1c7e322016-01-20 15:02:05 -0800124 depends on DRM
Sascha Hauerb9d47452012-06-27 15:30:18 +0200125 help
126 Choose this if you need the GEM CMA helper functions
127
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +0200128config DRM_KMS_CMA_HELPER
129 bool
Christoph Hellwige1c7e322016-01-20 15:02:05 -0800130 depends on DRM
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +0200131 select DRM_GEM_CMA_HELPER
Daniel Vetter92b6f892013-10-08 17:44:47 +0200132 select DRM_KMS_FB_HELPER
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +0200133 select FB_SYS_FILLRECT
134 select FB_SYS_COPYAREA
135 select FB_SYS_IMAGEBLIT
136 help
137 Choose this if you need the KMS CMA helper functions
138
Rob Clark6504d0d2013-01-24 21:46:07 +0000139source "drivers/gpu/drm/i2c/Kconfig"
140
Liviu Dudau8e22d792015-04-02 19:48:39 +0100141source "drivers/gpu/drm/arm/Kconfig"
142
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143config DRM_RADEON
144 tristate "ATI Radeon"
145 depends on DRM && PCI
Ben Hutchings70967ab2009-08-29 14:53:51 +0100146 select FW_LOADER
Dave Airliea0cdc642009-09-08 11:09:50 +1000147 select DRM_KMS_HELPER
148 select DRM_TTM
Dave Airlie5d9b7e22010-05-21 15:41:20 +1000149 select POWER_SUPPLY
Alex Deucher21a81222010-07-02 12:58:16 -0400150 select HWMON
Christian König14adc892013-01-21 13:58:46 +0100151 select BACKLIGHT_CLASS_DEVICE
Thierry Reding33610522015-08-14 12:50:11 +0200152 select BACKLIGHT_LCD_SUPPORT
Alex Deucher0aea5e42014-07-30 11:49:56 -0400153 select INTERVAL_TREE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154 help
155 Choose this option if you have an ATI Radeon graphics card. There
156 are both PCI and AGP versions. You don't need to choose this to
Adrian Bunk7b9af342006-03-20 20:23:13 +0100157 run the Radeon in plain VGA mode.
Dave Airliebc5f4522007-11-05 12:50:58 +1000158
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159 If M is selected, the module will be called radeon.
160
Dave Airlief71d0182010-02-01 11:35:47 +1000161source "drivers/gpu/drm/radeon/Kconfig"
162
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400163config DRM_AMDGPU
164 tristate "AMD GPU"
165 depends on DRM && PCI
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400166 select FW_LOADER
167 select DRM_KMS_HELPER
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400168 select DRM_TTM
169 select POWER_SUPPLY
170 select HWMON
171 select BACKLIGHT_CLASS_DEVICE
Thierry Redingb325a782015-08-14 12:50:12 +0200172 select BACKLIGHT_LCD_SUPPORT
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400173 select INTERVAL_TREE
174 help
175 Choose this option if you have a recent AMD Radeon graphics card.
176
177 If M is selected, the module will be called amdgpu.
178
179source "drivers/gpu/drm/amd/amdgpu/Kconfig"
Maruthi Bayyavarapua8fe58c2015-09-22 17:05:20 -0400180
Ben Skeggsf3c93cb2012-03-16 18:19:14 +1000181source "drivers/gpu/drm/nouveau/Kconfig"
182
Daniel Vetter4520f532013-10-09 09:18:51 +0200183source "drivers/gpu/drm/i915/Kconfig"
Josh Triplett99486b82013-08-13 16:23:17 -0700184
Zach Reizner502e95c2015-03-04 16:33:41 -0800185config DRM_VGEM
186 tristate "Virtual GEM provider"
187 depends on DRM
188 help
189 Choose this option to get a virtual graphics memory manager,
190 as used by Mesa's software renderer for enhanced performance.
191 If M is selected the module will be called vgem.
192
193
Thomas Hellstrom5a7b74b2011-10-11 10:42:51 +0200194source "drivers/gpu/drm/exynos/Kconfig"
195
Mark Yao2048e322014-08-22 18:36:26 +0800196source "drivers/gpu/drm/rockchip/Kconfig"
197
Thomas Hellstrom5a7b74b2011-10-11 10:42:51 +0200198source "drivers/gpu/drm/vmwgfx/Kconfig"
Alan Cox91c75492011-11-03 18:22:48 +0000199
200source "drivers/gpu/drm/gma500/Kconfig"
201
Dave Airlie53209182010-12-15 07:14:24 +1000202source "drivers/gpu/drm/udl/Kconfig"
Dave Airlie312fec12012-02-29 13:40:04 +0000203
204source "drivers/gpu/drm/ast/Kconfig"
205
Dave Airlie414c4532012-04-17 15:01:25 +0100206source "drivers/gpu/drm/mgag200/Kconfig"
Dave Airlief9aa76a2012-04-17 14:12:29 +0100207
208source "drivers/gpu/drm/cirrus/Kconfig"
Laurent Pinchart51c13272012-04-26 13:53:59 +0200209
Russell King96f60e32012-08-15 13:59:49 +0100210source "drivers/gpu/drm/armada/Kconfig"
211
Boris Brezillon1a396782015-01-06 11:13:28 +0100212source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
213
Laurent Pinchart4bf8e192013-06-19 13:54:11 +0200214source "drivers/gpu/drm/rcar-du/Kconfig"
215
Laurent Pinchart51c13272012-04-26 13:53:59 +0200216source "drivers/gpu/drm/shmobile/Kconfig"
Thierry Redingd8f4a9e2012-11-15 21:28:22 +0000217
Maxime Ripard9026e0d2015-10-29 09:36:23 +0100218source "drivers/gpu/drm/sun4i/Kconfig"
219
Rob Clark8bb0daf2013-02-11 12:43:09 -0500220source "drivers/gpu/drm/omapdrm/Kconfig"
Dave Airlieca18e142013-02-21 09:31:47 +1000221
Rob Clark16ea9752013-01-08 15:04:28 -0600222source "drivers/gpu/drm/tilcdc/Kconfig"
Dave Airlief64122c2013-02-25 14:47:55 +1000223
224source "drivers/gpu/drm/qxl/Kconfig"
Rob Clarkc8afe682013-06-26 12:44:06 -0400225
Gerd Hoffmann0a6659b2013-12-17 18:04:46 +0100226source "drivers/gpu/drm/bochs/Kconfig"
227
Dave Airliedc5698e2013-09-09 10:02:56 +1000228source "drivers/gpu/drm/virtio/Kconfig"
229
Rob Clarkc8afe682013-06-26 12:44:06 -0400230source "drivers/gpu/drm/msm/Kconfig"
Thierry Redingdee82682013-10-09 10:32:49 +0200231
Jianwei Wang109eee22015-08-19 22:19:49 -0400232source "drivers/gpu/drm/fsl-dcu/Kconfig"
233
Thierry Redingdee82682013-10-09 10:32:49 +0200234source "drivers/gpu/drm/tegra/Kconfig"
Thierry Redingaead40e2013-08-30 13:36:43 +0200235
236source "drivers/gpu/drm/panel/Kconfig"
Benjamin Gaignardf2cb3142014-07-30 18:20:56 +0200237
Thierry Redinga33ee952015-07-21 17:01:19 +0200238source "drivers/gpu/drm/bridge/Kconfig"
239
Benjamin Gaignardf2cb3142014-07-30 18:20:56 +0200240source "drivers/gpu/drm/sti/Kconfig"
Oded Gabbay4a488a72014-07-16 21:08:55 +0300241
242source "drivers/gpu/drm/amd/amdkfd/Kconfig"
Philipp Zabel6556f7f2014-11-24 16:33:34 +0100243
244source "drivers/gpu/drm/imx/Kconfig"
Eric Anholtc8b75bc2015-03-02 13:01:12 -0800245
246source "drivers/gpu/drm/vc4/Kconfig"
The etnaviv authorsa8c21a52015-12-03 18:21:29 +0100247
248source "drivers/gpu/drm/etnaviv/Kconfig"
Carlos Palminha51dacf22016-02-19 15:30:26 +0300249
250source "drivers/gpu/drm/arc/Kconfig"
Xinliang Liu23e7b2a2015-10-09 18:00:56 +0800251
252source "drivers/gpu/drm/hisilicon/Kconfig"
CK Hu119f5172016-01-04 18:36:34 +0100253
254source "drivers/gpu/drm/mediatek/Kconfig"
David Herrmannd92d9c3a2016-08-04 10:06:56 +0200255
Shawn Guo0a886f52016-09-22 19:52:39 +0800256source "drivers/gpu/drm/zte/Kconfig"
257
Marek Vasut45d59d72016-08-18 20:23:01 +0200258source "drivers/gpu/drm/mxsfb/Kconfig"
259
Neil Armstrongbbbe7752016-11-10 15:29:37 +0100260source "drivers/gpu/drm/meson/Kconfig"
261
David Herrmannd92d9c3a2016-08-04 10:06:56 +0200262# Keep legacy drivers last
263
264menuconfig DRM_LEGACY
265 bool "Enable legacy drivers (DANGEROUS)"
266 depends on DRM
267 help
268 Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
269 APIs to user-space, which can be used to circumvent access
270 restrictions and other security measures. For backwards compatibility
271 those drivers are still available, but their use is highly
272 inadvisable and might harm your system.
273
274 You are recommended to use the safe modeset-only drivers instead, and
275 perform 3D emulation in user-space.
276
277 Unless you have strong reasons to go rogue, say "N".
278
279if DRM_LEGACY
280
281config DRM_TDFX
282 tristate "3dfx Banshee/Voodoo3+"
283 depends on DRM && PCI
284 help
285 Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
286 graphics card. If M is selected, the module will be called tdfx.
287
288config DRM_R128
289 tristate "ATI Rage 128"
290 depends on DRM && PCI
291 select FW_LOADER
292 help
293 Choose this option if you have an ATI Rage 128 graphics card. If M
294 is selected, the module will be called r128. AGP support for
295 this card is strongly suggested (unless you have a PCI version).
296
297config DRM_I810
298 tristate "Intel I810"
299 # !PREEMPT because of missing ioctl locking
300 depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
301 help
302 Choose this option if you have an Intel I810 graphics card. If M is
303 selected, the module will be called i810. AGP support is required
304 for this driver to work.
305
306config DRM_MGA
307 tristate "Matrox g200/g400"
308 depends on DRM && PCI
309 select FW_LOADER
310 help
311 Choose this option if you have a Matrox G200, G400 or G450 graphics
312 card. If M is selected, the module will be called mga. AGP
313 support is required for this driver to work.
314
315config DRM_SIS
316 tristate "SiS video cards"
317 depends on DRM && AGP
318 depends on FB_SIS || FB_SIS=n
319 help
320 Choose this option if you have a SiS 630 or compatible video
321 chipset. If M is selected the module will be called sis. AGP
322 support is required for this driver to work.
323
324config DRM_VIA
325 tristate "Via unichrome video cards"
326 depends on DRM && PCI
327 help
328 Choose this option if you have a Via unichrome or compatible video
329 chipset. If M is selected the module will be called via.
330
331config DRM_SAVAGE
332 tristate "Savage video cards"
333 depends on DRM && PCI
334 help
335 Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
336 chipset. If M is selected the module will be called savage.
337
338endif # DRM_LEGACY
Chris Wilsona33d42d2016-12-22 08:36:08 +0000339
340config DRM_LIB_RANDOM
341 bool
342 default n