blob: 95fc0410e129cfafa8e3d988b5e3468ac7d2aa20 [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
Dave Airlie6fcefd52009-09-08 11:08:32 +100051config DRM_KMS_HELPER
Dave Airlie13a81952009-09-07 15:45:33 +100052 tristate
53 depends on DRM
Daniel Vetter92b6f892013-10-08 17:44:47 +020054 help
55 CRTC helpers for KMS drivers.
56
57config DRM_KMS_FB_HELPER
58 bool
59 depends on DRM_KMS_HELPER
Dave Airlie13a81952009-09-07 15:45:33 +100060 select FB
David Rientjes6a108a12011-01-20 14:44:16 -080061 select FRAMEBUFFER_CONSOLE if !EXPERT
Dave Airliebf5192e2011-04-22 07:51:33 +100062 select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
Archit Tanejacbb1a822015-07-31 16:21:41 +053063 select FB_SYS_FOPS
Archit Taneja742547b2015-07-31 16:21:42 +053064 select FB_SYS_FILLRECT
65 select FB_SYS_COPYAREA
66 select FB_SYS_IMAGEBLIT
67 select FB_CFB_FILLRECT
68 select FB_CFB_COPYAREA
69 select FB_CFB_IMAGEBLIT
Noralf Trønneseaa434d2016-04-28 17:18:33 +020070 select FB_DEFERRED_IO
Dave Airlie13a81952009-09-07 15:45:33 +100071 help
Daniel Vetter92b6f892013-10-08 17:44:47 +020072 FBDEV helpers for KMS drivers.
Dave Airlie13a81952009-09-07 15:45:33 +100073
Archit Tanejaa03fdcb2015-08-05 12:28:57 +053074config DRM_FBDEV_EMULATION
75 bool "Enable legacy fbdev support for your modesetting driver"
76 depends on DRM
77 select DRM_KMS_HELPER
78 select DRM_KMS_FB_HELPER
79 default y
80 help
81 Choose this option if you have a need for the legacy fbdev
82 support. Note that this support also provides the linux console
83 support on top of your modesetting driver.
84
85 If in doubt, say "Y".
86
Carsten Emdeda0df922012-03-18 22:37:33 +010087config DRM_LOAD_EDID_FIRMWARE
88 bool "Allow to specify an EDID data set instead of probing for it"
89 depends on DRM_KMS_HELPER
90 help
91 Say Y here, if you want to use EDID data to be loaded from the
92 /lib/firmware directory or one of the provided built-in
93 data sets. This may be necessary, if the graphics adapter or
94 monitor are unable to provide appropriate EDID data. Since this
95 feature is provided as a workaround for broken hardware, the
96 default case is N. Details and instructions how to build your own
97 EDID data are given in Documentation/EDID/HOWTO.txt.
98
Thomas Hellstromba4e7d92009-06-10 15:20:19 +020099config DRM_TTM
Jerome Glisse771fe6b2009-06-05 14:42:42 +0200100 tristate
Thomas Hellstromba4e7d92009-06-10 15:20:19 +0200101 depends on DRM
102 help
103 GPU memory management subsystem for devices with multiple
104 GPU memory types. Will be enabled automatically if a device driver
105 uses it.
106
Sascha Hauerb9d47452012-06-27 15:30:18 +0200107config DRM_GEM_CMA_HELPER
108 bool
Christoph Hellwige1c7e322016-01-20 15:02:05 -0800109 depends on DRM
Sascha Hauerb9d47452012-06-27 15:30:18 +0200110 help
111 Choose this if you need the GEM CMA helper functions
112
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +0200113config DRM_KMS_CMA_HELPER
114 bool
Christoph Hellwige1c7e322016-01-20 15:02:05 -0800115 depends on DRM
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +0200116 select DRM_GEM_CMA_HELPER
Daniel Vetter92b6f892013-10-08 17:44:47 +0200117 select DRM_KMS_FB_HELPER
Lars-Peter Clausen2e3b3c42012-07-02 16:37:47 +0200118 select FB_SYS_FILLRECT
119 select FB_SYS_COPYAREA
120 select FB_SYS_IMAGEBLIT
121 help
122 Choose this if you need the KMS CMA helper functions
123
Rob Clark6504d0d2013-01-24 21:46:07 +0000124source "drivers/gpu/drm/i2c/Kconfig"
125
Liviu Dudau8e22d792015-04-02 19:48:39 +0100126source "drivers/gpu/drm/arm/Kconfig"
127
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128config DRM_RADEON
129 tristate "ATI Radeon"
130 depends on DRM && PCI
Ben Hutchings70967ab2009-08-29 14:53:51 +0100131 select FW_LOADER
Dave Airliea0cdc642009-09-08 11:09:50 +1000132 select DRM_KMS_HELPER
133 select DRM_TTM
Dave Airlie5d9b7e22010-05-21 15:41:20 +1000134 select POWER_SUPPLY
Alex Deucher21a81222010-07-02 12:58:16 -0400135 select HWMON
Christian König14adc892013-01-21 13:58:46 +0100136 select BACKLIGHT_CLASS_DEVICE
Thierry Reding33610522015-08-14 12:50:11 +0200137 select BACKLIGHT_LCD_SUPPORT
Alex Deucher0aea5e42014-07-30 11:49:56 -0400138 select INTERVAL_TREE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139 help
140 Choose this option if you have an ATI Radeon graphics card. There
141 are both PCI and AGP versions. You don't need to choose this to
Adrian Bunk7b9af342006-03-20 20:23:13 +0100142 run the Radeon in plain VGA mode.
Dave Airliebc5f4522007-11-05 12:50:58 +1000143
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144 If M is selected, the module will be called radeon.
145
Dave Airlief71d0182010-02-01 11:35:47 +1000146source "drivers/gpu/drm/radeon/Kconfig"
147
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400148config DRM_AMDGPU
149 tristate "AMD GPU"
150 depends on DRM && PCI
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400151 select FW_LOADER
152 select DRM_KMS_HELPER
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400153 select DRM_TTM
154 select POWER_SUPPLY
155 select HWMON
156 select BACKLIGHT_CLASS_DEVICE
Thierry Redingb325a782015-08-14 12:50:12 +0200157 select BACKLIGHT_LCD_SUPPORT
Alex Deucherd38ceaf2015-04-20 16:55:21 -0400158 select INTERVAL_TREE
159 help
160 Choose this option if you have a recent AMD Radeon graphics card.
161
162 If M is selected, the module will be called amdgpu.
163
164source "drivers/gpu/drm/amd/amdgpu/Kconfig"
Maruthi Bayyavarapua8fe58c2015-09-22 17:05:20 -0400165
Ben Skeggsf3c93cb2012-03-16 18:19:14 +1000166source "drivers/gpu/drm/nouveau/Kconfig"
167
Daniel Vetter4520f532013-10-09 09:18:51 +0200168source "drivers/gpu/drm/i915/Kconfig"
Josh Triplett99486b82013-08-13 16:23:17 -0700169
Zach Reizner502e95c2015-03-04 16:33:41 -0800170config DRM_VGEM
171 tristate "Virtual GEM provider"
172 depends on DRM
173 help
174 Choose this option to get a virtual graphics memory manager,
175 as used by Mesa's software renderer for enhanced performance.
176 If M is selected the module will be called vgem.
177
178
Thomas Hellstrom5a7b74b2011-10-11 10:42:51 +0200179source "drivers/gpu/drm/exynos/Kconfig"
180
Mark Yao2048e322014-08-22 18:36:26 +0800181source "drivers/gpu/drm/rockchip/Kconfig"
182
Thomas Hellstrom5a7b74b2011-10-11 10:42:51 +0200183source "drivers/gpu/drm/vmwgfx/Kconfig"
Alan Cox91c75492011-11-03 18:22:48 +0000184
185source "drivers/gpu/drm/gma500/Kconfig"
186
Dave Airlie53209182010-12-15 07:14:24 +1000187source "drivers/gpu/drm/udl/Kconfig"
Dave Airlie312fec12012-02-29 13:40:04 +0000188
189source "drivers/gpu/drm/ast/Kconfig"
190
Dave Airlie414c4532012-04-17 15:01:25 +0100191source "drivers/gpu/drm/mgag200/Kconfig"
Dave Airlief9aa76a2012-04-17 14:12:29 +0100192
193source "drivers/gpu/drm/cirrus/Kconfig"
Laurent Pinchart51c13272012-04-26 13:53:59 +0200194
Russell King96f60e32012-08-15 13:59:49 +0100195source "drivers/gpu/drm/armada/Kconfig"
196
Boris Brezillon1a396782015-01-06 11:13:28 +0100197source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
198
Laurent Pinchart4bf8e192013-06-19 13:54:11 +0200199source "drivers/gpu/drm/rcar-du/Kconfig"
200
Laurent Pinchart51c13272012-04-26 13:53:59 +0200201source "drivers/gpu/drm/shmobile/Kconfig"
Thierry Redingd8f4a9e2012-11-15 21:28:22 +0000202
Maxime Ripard9026e0d2015-10-29 09:36:23 +0100203source "drivers/gpu/drm/sun4i/Kconfig"
204
Rob Clark8bb0daf2013-02-11 12:43:09 -0500205source "drivers/gpu/drm/omapdrm/Kconfig"
Dave Airlieca18e142013-02-21 09:31:47 +1000206
Rob Clark16ea9752013-01-08 15:04:28 -0600207source "drivers/gpu/drm/tilcdc/Kconfig"
Dave Airlief64122c2013-02-25 14:47:55 +1000208
209source "drivers/gpu/drm/qxl/Kconfig"
Rob Clarkc8afe682013-06-26 12:44:06 -0400210
Gerd Hoffmann0a6659b2013-12-17 18:04:46 +0100211source "drivers/gpu/drm/bochs/Kconfig"
212
Dave Airliedc5698e2013-09-09 10:02:56 +1000213source "drivers/gpu/drm/virtio/Kconfig"
214
Rob Clarkc8afe682013-06-26 12:44:06 -0400215source "drivers/gpu/drm/msm/Kconfig"
Thierry Redingdee82682013-10-09 10:32:49 +0200216
Jianwei Wang109eee22015-08-19 22:19:49 -0400217source "drivers/gpu/drm/fsl-dcu/Kconfig"
218
Thierry Redingdee82682013-10-09 10:32:49 +0200219source "drivers/gpu/drm/tegra/Kconfig"
Thierry Redingaead40e2013-08-30 13:36:43 +0200220
221source "drivers/gpu/drm/panel/Kconfig"
Benjamin Gaignardf2cb3142014-07-30 18:20:56 +0200222
Thierry Redinga33ee952015-07-21 17:01:19 +0200223source "drivers/gpu/drm/bridge/Kconfig"
224
Benjamin Gaignardf2cb3142014-07-30 18:20:56 +0200225source "drivers/gpu/drm/sti/Kconfig"
Oded Gabbay4a488a72014-07-16 21:08:55 +0300226
227source "drivers/gpu/drm/amd/amdkfd/Kconfig"
Philipp Zabel6556f7f2014-11-24 16:33:34 +0100228
229source "drivers/gpu/drm/imx/Kconfig"
Eric Anholtc8b75bc2015-03-02 13:01:12 -0800230
231source "drivers/gpu/drm/vc4/Kconfig"
The etnaviv authorsa8c21a52015-12-03 18:21:29 +0100232
233source "drivers/gpu/drm/etnaviv/Kconfig"
Carlos Palminha51dacf22016-02-19 15:30:26 +0300234
235source "drivers/gpu/drm/arc/Kconfig"
Xinliang Liu23e7b2a2015-10-09 18:00:56 +0800236
237source "drivers/gpu/drm/hisilicon/Kconfig"
CK Hu119f5172016-01-04 18:36:34 +0100238
239source "drivers/gpu/drm/mediatek/Kconfig"
David Herrmannd92d9c3a2016-08-04 10:06:56 +0200240
Shawn Guo0a886f52016-09-22 19:52:39 +0800241source "drivers/gpu/drm/zte/Kconfig"
242
David Herrmannd92d9c3a2016-08-04 10:06:56 +0200243# Keep legacy drivers last
244
245menuconfig DRM_LEGACY
246 bool "Enable legacy drivers (DANGEROUS)"
247 depends on DRM
248 help
249 Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
250 APIs to user-space, which can be used to circumvent access
251 restrictions and other security measures. For backwards compatibility
252 those drivers are still available, but their use is highly
253 inadvisable and might harm your system.
254
255 You are recommended to use the safe modeset-only drivers instead, and
256 perform 3D emulation in user-space.
257
258 Unless you have strong reasons to go rogue, say "N".
259
260if DRM_LEGACY
261
262config DRM_TDFX
263 tristate "3dfx Banshee/Voodoo3+"
264 depends on DRM && PCI
265 help
266 Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
267 graphics card. If M is selected, the module will be called tdfx.
268
269config DRM_R128
270 tristate "ATI Rage 128"
271 depends on DRM && PCI
272 select FW_LOADER
273 help
274 Choose this option if you have an ATI Rage 128 graphics card. If M
275 is selected, the module will be called r128. AGP support for
276 this card is strongly suggested (unless you have a PCI version).
277
278config DRM_I810
279 tristate "Intel I810"
280 # !PREEMPT because of missing ioctl locking
281 depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
282 help
283 Choose this option if you have an Intel I810 graphics card. If M is
284 selected, the module will be called i810. AGP support is required
285 for this driver to work.
286
287config DRM_MGA
288 tristate "Matrox g200/g400"
289 depends on DRM && PCI
290 select FW_LOADER
291 help
292 Choose this option if you have a Matrox G200, G400 or G450 graphics
293 card. If M is selected, the module will be called mga. AGP
294 support is required for this driver to work.
295
296config DRM_SIS
297 tristate "SiS video cards"
298 depends on DRM && AGP
299 depends on FB_SIS || FB_SIS=n
300 help
301 Choose this option if you have a SiS 630 or compatible video
302 chipset. If M is selected the module will be called sis. AGP
303 support is required for this driver to work.
304
305config DRM_VIA
306 tristate "Via unichrome video cards"
307 depends on DRM && PCI
308 help
309 Choose this option if you have a Via unichrome or compatible video
310 chipset. If M is selected the module will be called via.
311
312config DRM_SAVAGE
313 tristate "Savage video cards"
314 depends on DRM && PCI
315 help
316 Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
317 chipset. If M is selected the module will be called savage.
318
319endif # DRM_LEGACY