xref: /linux/drivers/gpu/drm/Kconfig (revision 4b514e10157a8e34a5e909487ef6fb8342e2e3ad)
1c0e09200SDave Airlie#
2c0e09200SDave Airlie# Drm device configuration
3c0e09200SDave Airlie#
4c0e09200SDave Airlie# This driver provides support for the
5c0e09200SDave Airlie# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
6c0e09200SDave Airlie#
7c0e09200SDave Airliemenuconfig DRM
8c0e09200SDave Airlie	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
9cc6a36f2SGeert Uytterhoeven	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && MMU && HAS_DMA
1010a85120SThierry Reding	select HDMI
11eaf99c74SChris Wilson	select FB_CMDLINE
1257a6297eSDave Airlie	select I2C
1357a6297eSDave Airlie	select I2C_ALGOBIT
143248877eSDave Airlie	select DMA_SHARED_BUFFER
15c0e09200SDave Airlie	help
16c0e09200SDave Airlie	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
17c0e09200SDave Airlie	  introduced in XFree86 4.0. If you say Y here, you need to select
18c0e09200SDave Airlie	  the module that's right for your graphics card from the list below.
19c0e09200SDave Airlie	  These modules provide support for synchronization, security, and
20c0e09200SDave Airlie	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
21c0e09200SDave Airlie	  details.  You should also select and configure AGP
22dcdb1674SJordan Crouse	  (/dev/agpgart) support if it is available for your platform.
23c0e09200SDave Airlie
24068a0023SAndrzej Hajdaconfig DRM_MIPI_DSI
25068a0023SAndrzej Hajda	bool
26068a0023SAndrzej Hajda	depends on DRM
27068a0023SAndrzej Hajda
28e94cb37bSRafael Antognolliconfig DRM_DP_AUX_CHARDEV
29e94cb37bSRafael Antognolli	bool "DRM DP AUX Interface"
30e94cb37bSRafael Antognolli	depends on DRM
31e94cb37bSRafael Antognolli	help
32e94cb37bSRafael Antognolli	  Choose this option to enable a /dev/drm_dp_auxN node that allows to
33e94cb37bSRafael Antognolli	  read and write values to arbitrary DPCD registers on the DP aux
34e94cb37bSRafael Antognolli	  channel.
35e94cb37bSRafael Antognolli
365705670dSChris Wilsonconfig DRM_DEBUG_MM
375705670dSChris Wilson	bool "Insert extra checks and debug info into the DRM range managers"
385705670dSChris Wilson	default n
39cd456f8dSChris Wilson	depends on DRM=y
40*4b514e10SChris Wilson	depends on STACKTRACE_SUPPORT
415705670dSChris Wilson	select STACKDEPOT
425705670dSChris Wilson	help
435705670dSChris Wilson	  Enable allocation tracking of memory manager and leak detection on
445705670dSChris Wilson	  shutdown.
455705670dSChris Wilson
465705670dSChris Wilson	  Recommended for driver developers only.
475705670dSChris Wilson
485705670dSChris Wilson	  If in doubt, say "N".
495705670dSChris Wilson
506fcefd56SDave Airlieconfig DRM_KMS_HELPER
5113a8195bSDave Airlie	tristate
5213a8195bSDave Airlie	depends on DRM
5392b6f89fSDaniel Vetter	help
5492b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
5592b6f89fSDaniel Vetter
5692b6f89fSDaniel Vetterconfig DRM_KMS_FB_HELPER
5792b6f89fSDaniel Vetter	bool
5892b6f89fSDaniel Vetter	depends on DRM_KMS_HELPER
5913a8195bSDave Airlie	select FB
606a108a14SDavid Rientjes	select FRAMEBUFFER_CONSOLE if !EXPERT
61bf5192edSDave Airlie	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
62cbb1a82eSArchit Taneja	select FB_SYS_FOPS
63742547b7SArchit Taneja	select FB_SYS_FILLRECT
64742547b7SArchit Taneja	select FB_SYS_COPYAREA
65742547b7SArchit Taneja	select FB_SYS_IMAGEBLIT
66742547b7SArchit Taneja	select FB_CFB_FILLRECT
67742547b7SArchit Taneja	select FB_CFB_COPYAREA
68742547b7SArchit Taneja	select FB_CFB_IMAGEBLIT
69eaa434deSNoralf Trønnes	select FB_DEFERRED_IO
7013a8195bSDave Airlie	help
7192b6f89fSDaniel Vetter	  FBDEV helpers for KMS drivers.
7213a8195bSDave Airlie
73a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
74a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
75a03fdcb1SArchit Taneja	depends on DRM
76a03fdcb1SArchit Taneja	select DRM_KMS_HELPER
77a03fdcb1SArchit Taneja	select DRM_KMS_FB_HELPER
78a03fdcb1SArchit Taneja	default y
79a03fdcb1SArchit Taneja	help
80a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
81a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
82a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
83a03fdcb1SArchit Taneja
84a03fdcb1SArchit Taneja	  If in doubt, say "Y".
85a03fdcb1SArchit Taneja
86da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
87da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
88da0df92bSCarsten Emde	depends on DRM_KMS_HELPER
89da0df92bSCarsten Emde	help
90da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
91da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
92da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
93da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
94da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
95da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
96da0df92bSCarsten Emde	  EDID data are given in Documentation/EDID/HOWTO.txt.
97da0df92bSCarsten Emde
98ba4e7d97SThomas Hellstromconfig DRM_TTM
99771fe6b9SJerome Glisse	tristate
100ba4e7d97SThomas Hellstrom	depends on DRM
101ba4e7d97SThomas Hellstrom	help
102ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
103ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
104ba4e7d97SThomas Hellstrom	  uses it.
105ba4e7d97SThomas Hellstrom
106b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER
107b9d47450SSascha Hauer	bool
108e1c7e324SChristoph Hellwig	depends on DRM
109b9d47450SSascha Hauer	help
110b9d47450SSascha Hauer	  Choose this if you need the GEM CMA helper functions
111b9d47450SSascha Hauer
1122e3b3c42SLars-Peter Clausenconfig DRM_KMS_CMA_HELPER
1132e3b3c42SLars-Peter Clausen	bool
114e1c7e324SChristoph Hellwig	depends on DRM
1152e3b3c42SLars-Peter Clausen	select DRM_GEM_CMA_HELPER
11692b6f89fSDaniel Vetter	select DRM_KMS_FB_HELPER
1172e3b3c42SLars-Peter Clausen	select FB_SYS_FILLRECT
1182e3b3c42SLars-Peter Clausen	select FB_SYS_COPYAREA
1192e3b3c42SLars-Peter Clausen	select FB_SYS_IMAGEBLIT
1202e3b3c42SLars-Peter Clausen	help
1212e3b3c42SLars-Peter Clausen	  Choose this if you need the KMS CMA helper functions
1222e3b3c42SLars-Peter Clausen
1236504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
1246504d0d9SRob Clark
1258e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
1268e22d792SLiviu Dudau
127c0e09200SDave Airlieconfig DRM_RADEON
128c0e09200SDave Airlie	tristate "ATI Radeon"
129c0e09200SDave Airlie	depends on DRM && PCI
13070967ab9SBen Hutchings	select FW_LOADER
131a0cdc649SDave Airlie        select DRM_KMS_HELPER
132a0cdc649SDave Airlie        select DRM_TTM
1335d9b7e2dSDave Airlie	select POWER_SUPPLY
13421a8122aSAlex Deucher	select HWMON
13514adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
13633610527SThierry Reding	select BACKLIGHT_LCD_SUPPORT
1370aea5e4aSAlex Deucher	select INTERVAL_TREE
138c0e09200SDave Airlie	help
139c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
140c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
141c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
142c0e09200SDave Airlie
143c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
144c0e09200SDave Airlie
145f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
146f71d0187SDave Airlie
147d38ceaf9SAlex Deucherconfig DRM_AMDGPU
148d38ceaf9SAlex Deucher	tristate "AMD GPU"
149d38ceaf9SAlex Deucher	depends on DRM && PCI
150d38ceaf9SAlex Deucher	select FW_LOADER
151d38ceaf9SAlex Deucher        select DRM_KMS_HELPER
152d38ceaf9SAlex Deucher        select DRM_TTM
153d38ceaf9SAlex Deucher	select POWER_SUPPLY
154d38ceaf9SAlex Deucher	select HWMON
155d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
156b325a789SThierry Reding	select BACKLIGHT_LCD_SUPPORT
157d38ceaf9SAlex Deucher	select INTERVAL_TREE
158d38ceaf9SAlex Deucher	help
159d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
160d38ceaf9SAlex Deucher
161d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
162d38ceaf9SAlex Deucher
163d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
164a8fe58ceSMaruthi Bayyavarapu
165f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
166f3c93cbdSBen Skeggs
1674520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
16899486b8eSJosh Triplett
169502e95c6SZach Reiznerconfig DRM_VGEM
170502e95c6SZach Reizner	tristate "Virtual GEM provider"
171502e95c6SZach Reizner	depends on DRM
172502e95c6SZach Reizner	help
173502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
174502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
175502e95c6SZach Reizner	  If M is selected the module will be called vgem.
176502e95c6SZach Reizner
177502e95c6SZach Reizner
1781c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
1795a7b74beSThomas Hellstrom
1802048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
1812048e328SMark Yao
1825a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
18391c75492SAlan Cox
18491c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
18591c75492SAlan Cox
1865320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
187312fec14SDave Airlie
188312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
189312fec14SDave Airlie
190414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
191f9aa76a8SDave Airlie
192f9aa76a8SDave Airliesource "drivers/gpu/drm/cirrus/Kconfig"
19351c13278SLaurent Pinchart
19496f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
19596f60e37SRussell King
1961a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
1971a396789SBoris Brezillon
1984bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
1994bf8e196SLaurent Pinchart
20051c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
201d8f4a9edSThierry Reding
2029026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
2039026e0d1SMaxime Ripard
2048bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
205ca18e142SDave Airlie
20616ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
207f64122c1SDave Airlie
208f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
209c8afe684SRob Clark
2100a6659bdSGerd Hoffmannsource "drivers/gpu/drm/bochs/Kconfig"
2110a6659bdSGerd Hoffmann
212dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
213dc5698e8SDave Airlie
214c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
215dee8268fSThierry Reding
216109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
217109eee2fSJianwei Wang
218dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
219aead40eaSThierry Reding
220aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
221f2cb3148SBenjamin Gaignard
222a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
223a33ee95fSThierry Reding
224f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
2254a488a7aSOded Gabbay
2264a488a7aSOded Gabbaysource "drivers/gpu/drm/amd/amdkfd/Kconfig"
2276556f7f8SPhilipp Zabel
2286556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
229c8b75bcaSEric Anholt
230c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
231a8c21a54SThe etnaviv authors
232a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
23351dacf20SCarlos Palminha
23451dacf20SCarlos Palminhasource "drivers/gpu/drm/arc/Kconfig"
23523e7b2abSXinliang Liu
23623e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
237119f5173SCK Hu
238119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
239d92d9c3aSDavid Herrmann
240d92d9c3aSDavid Herrmann# Keep legacy drivers last
241d92d9c3aSDavid Herrmann
242d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
243d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
244d92d9c3aSDavid Herrmann	depends on DRM
245d92d9c3aSDavid Herrmann	help
246d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
247d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
248d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
249d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
250d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
251d92d9c3aSDavid Herrmann
252d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
253d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
254d92d9c3aSDavid Herrmann
255d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
256d92d9c3aSDavid Herrmann
257d92d9c3aSDavid Herrmannif DRM_LEGACY
258d92d9c3aSDavid Herrmann
259d92d9c3aSDavid Herrmannconfig DRM_TDFX
260d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
261d92d9c3aSDavid Herrmann	depends on DRM && PCI
262d92d9c3aSDavid Herrmann	help
263d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
264d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
265d92d9c3aSDavid Herrmann
266d92d9c3aSDavid Herrmannconfig DRM_R128
267d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
268d92d9c3aSDavid Herrmann	depends on DRM && PCI
269d92d9c3aSDavid Herrmann	select FW_LOADER
270d92d9c3aSDavid Herrmann	help
271d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
272d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
273d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
274d92d9c3aSDavid Herrmann
275d92d9c3aSDavid Herrmannconfig DRM_I810
276d92d9c3aSDavid Herrmann	tristate "Intel I810"
277d92d9c3aSDavid Herrmann	# !PREEMPT because of missing ioctl locking
278d92d9c3aSDavid Herrmann	depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
279d92d9c3aSDavid Herrmann	help
280d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
281d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
282d92d9c3aSDavid Herrmann	  for this driver to work.
283d92d9c3aSDavid Herrmann
284d92d9c3aSDavid Herrmannconfig DRM_MGA
285d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
286d92d9c3aSDavid Herrmann	depends on DRM && PCI
287d92d9c3aSDavid Herrmann	select FW_LOADER
288d92d9c3aSDavid Herrmann	help
289d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
290d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
291d92d9c3aSDavid Herrmann	  support is required for this driver to work.
292d92d9c3aSDavid Herrmann
293d92d9c3aSDavid Herrmannconfig DRM_SIS
294d92d9c3aSDavid Herrmann	tristate "SiS video cards"
295d92d9c3aSDavid Herrmann	depends on DRM && AGP
296d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
297d92d9c3aSDavid Herrmann	help
298d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
299d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
300d92d9c3aSDavid Herrmann	  support is required for this driver to work.
301d92d9c3aSDavid Herrmann
302d92d9c3aSDavid Herrmannconfig DRM_VIA
303d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
304d92d9c3aSDavid Herrmann	depends on DRM && PCI
305d92d9c3aSDavid Herrmann	help
306d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
307d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
308d92d9c3aSDavid Herrmann
309d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
310d92d9c3aSDavid Herrmann	tristate "Savage video cards"
311d92d9c3aSDavid Herrmann	depends on DRM && PCI
312d92d9c3aSDavid Herrmann	help
313d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
314d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
315d92d9c3aSDavid Herrmann
316d92d9c3aSDavid Herrmannendif # DRM_LEGACY
317