xref: /linux/drivers/gpu/drm/Kconfig (revision bbbe775ec5b5dace43a35886da9924837da09ddd)
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
366fcefd56SDave Airlieconfig DRM_KMS_HELPER
3713a8195bSDave Airlie	tristate
3813a8195bSDave Airlie	depends on DRM
3992b6f89fSDaniel Vetter	help
4092b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
4192b6f89fSDaniel Vetter
4292b6f89fSDaniel Vetterconfig DRM_KMS_FB_HELPER
4392b6f89fSDaniel Vetter	bool
4492b6f89fSDaniel Vetter	depends on DRM_KMS_HELPER
4513a8195bSDave Airlie	select FB
466a108a14SDavid Rientjes	select FRAMEBUFFER_CONSOLE if !EXPERT
47bf5192edSDave Airlie	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
48cbb1a82eSArchit Taneja	select FB_SYS_FOPS
49742547b7SArchit Taneja	select FB_SYS_FILLRECT
50742547b7SArchit Taneja	select FB_SYS_COPYAREA
51742547b7SArchit Taneja	select FB_SYS_IMAGEBLIT
52742547b7SArchit Taneja	select FB_CFB_FILLRECT
53742547b7SArchit Taneja	select FB_CFB_COPYAREA
54742547b7SArchit Taneja	select FB_CFB_IMAGEBLIT
55eaa434deSNoralf Trønnes	select FB_DEFERRED_IO
5613a8195bSDave Airlie	help
5792b6f89fSDaniel Vetter	  FBDEV helpers for KMS drivers.
5813a8195bSDave Airlie
59a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
60a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
61a03fdcb1SArchit Taneja	depends on DRM
62a03fdcb1SArchit Taneja	select DRM_KMS_HELPER
63a03fdcb1SArchit Taneja	select DRM_KMS_FB_HELPER
64a03fdcb1SArchit Taneja	default y
65a03fdcb1SArchit Taneja	help
66a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
67a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
68a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
69a03fdcb1SArchit Taneja
70a03fdcb1SArchit Taneja	  If in doubt, say "Y".
71a03fdcb1SArchit Taneja
72da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
73da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
74da0df92bSCarsten Emde	depends on DRM_KMS_HELPER
75da0df92bSCarsten Emde	help
76da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
77da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
78da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
79da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
80da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
81da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
82da0df92bSCarsten Emde	  EDID data are given in Documentation/EDID/HOWTO.txt.
83da0df92bSCarsten Emde
84ba4e7d97SThomas Hellstromconfig DRM_TTM
85771fe6b9SJerome Glisse	tristate
86ba4e7d97SThomas Hellstrom	depends on DRM
87ba4e7d97SThomas Hellstrom	help
88ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
89ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
90ba4e7d97SThomas Hellstrom	  uses it.
91ba4e7d97SThomas Hellstrom
92b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER
93b9d47450SSascha Hauer	bool
94e1c7e324SChristoph Hellwig	depends on DRM
95b9d47450SSascha Hauer	help
96b9d47450SSascha Hauer	  Choose this if you need the GEM CMA helper functions
97b9d47450SSascha Hauer
982e3b3c42SLars-Peter Clausenconfig DRM_KMS_CMA_HELPER
992e3b3c42SLars-Peter Clausen	bool
100e1c7e324SChristoph Hellwig	depends on DRM
1012e3b3c42SLars-Peter Clausen	select DRM_GEM_CMA_HELPER
10292b6f89fSDaniel Vetter	select DRM_KMS_FB_HELPER
1032e3b3c42SLars-Peter Clausen	select FB_SYS_FILLRECT
1042e3b3c42SLars-Peter Clausen	select FB_SYS_COPYAREA
1052e3b3c42SLars-Peter Clausen	select FB_SYS_IMAGEBLIT
1062e3b3c42SLars-Peter Clausen	help
1072e3b3c42SLars-Peter Clausen	  Choose this if you need the KMS CMA helper functions
1082e3b3c42SLars-Peter Clausen
1096504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
1106504d0d9SRob Clark
1118e22d792SLiviu Dudausource "drivers/gpu/drm/arm/Kconfig"
1128e22d792SLiviu Dudau
113c0e09200SDave Airlieconfig DRM_RADEON
114c0e09200SDave Airlie	tristate "ATI Radeon"
115c0e09200SDave Airlie	depends on DRM && PCI
11670967ab9SBen Hutchings	select FW_LOADER
117a0cdc649SDave Airlie        select DRM_KMS_HELPER
118a0cdc649SDave Airlie        select DRM_TTM
1195d9b7e2dSDave Airlie	select POWER_SUPPLY
12021a8122aSAlex Deucher	select HWMON
12114adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
12233610527SThierry Reding	select BACKLIGHT_LCD_SUPPORT
1230aea5e4aSAlex Deucher	select INTERVAL_TREE
124c0e09200SDave Airlie	help
125c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
126c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
127c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
128c0e09200SDave Airlie
129c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
130c0e09200SDave Airlie
131f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
132f71d0187SDave Airlie
133d38ceaf9SAlex Deucherconfig DRM_AMDGPU
134d38ceaf9SAlex Deucher	tristate "AMD GPU"
135d38ceaf9SAlex Deucher	depends on DRM && PCI
136d38ceaf9SAlex Deucher	select FW_LOADER
137d38ceaf9SAlex Deucher        select DRM_KMS_HELPER
138d38ceaf9SAlex Deucher        select DRM_TTM
139d38ceaf9SAlex Deucher	select POWER_SUPPLY
140d38ceaf9SAlex Deucher	select HWMON
141d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
142b325a789SThierry Reding	select BACKLIGHT_LCD_SUPPORT
143d38ceaf9SAlex Deucher	select INTERVAL_TREE
144d38ceaf9SAlex Deucher	help
145d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
146d38ceaf9SAlex Deucher
147d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
148d38ceaf9SAlex Deucher
149d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
150a8fe58ceSMaruthi Bayyavarapu
151f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
152f3c93cbdSBen Skeggs
1534520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
15499486b8eSJosh Triplett
155502e95c6SZach Reiznerconfig DRM_VGEM
156502e95c6SZach Reizner	tristate "Virtual GEM provider"
157502e95c6SZach Reizner	depends on DRM
158502e95c6SZach Reizner	help
159502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
160502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
161502e95c6SZach Reizner	  If M is selected the module will be called vgem.
162502e95c6SZach Reizner
163502e95c6SZach Reizner
1641c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
1655a7b74beSThomas Hellstrom
1662048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
1672048e328SMark Yao
1685a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
16991c75492SAlan Cox
17091c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
17191c75492SAlan Cox
1725320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
173312fec14SDave Airlie
174312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
175312fec14SDave Airlie
176414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
177f9aa76a8SDave Airlie
178f9aa76a8SDave Airliesource "drivers/gpu/drm/cirrus/Kconfig"
17951c13278SLaurent Pinchart
18096f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
18196f60e37SRussell King
1821a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
1831a396789SBoris Brezillon
1844bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
1854bf8e196SLaurent Pinchart
18651c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
187d8f4a9edSThierry Reding
1889026e0d1SMaxime Ripardsource "drivers/gpu/drm/sun4i/Kconfig"
1899026e0d1SMaxime Ripard
1908bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
191ca18e142SDave Airlie
19216ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
193f64122c1SDave Airlie
194f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
195c8afe684SRob Clark
1960a6659bdSGerd Hoffmannsource "drivers/gpu/drm/bochs/Kconfig"
1970a6659bdSGerd Hoffmann
198dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
199dc5698e8SDave Airlie
200c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
201dee8268fSThierry Reding
202109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
203109eee2fSJianwei Wang
204dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
205aead40eaSThierry Reding
206aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
207f2cb3148SBenjamin Gaignard
208a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
209a33ee95fSThierry Reding
210f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
2114a488a7aSOded Gabbay
2124a488a7aSOded Gabbaysource "drivers/gpu/drm/amd/amdkfd/Kconfig"
2136556f7f8SPhilipp Zabel
2146556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
215c8b75bcaSEric Anholt
216c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
217a8c21a54SThe etnaviv authors
218a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
21951dacf20SCarlos Palminha
22051dacf20SCarlos Palminhasource "drivers/gpu/drm/arc/Kconfig"
22123e7b2abSXinliang Liu
22223e7b2abSXinliang Liusource "drivers/gpu/drm/hisilicon/Kconfig"
223119f5173SCK Hu
224119f5173SCK Husource "drivers/gpu/drm/mediatek/Kconfig"
225d92d9c3aSDavid Herrmann
226*bbbe775eSNeil Armstrongsource "drivers/gpu/drm/meson/Kconfig"
227*bbbe775eSNeil Armstrong
228d92d9c3aSDavid Herrmann# Keep legacy drivers last
229d92d9c3aSDavid Herrmann
230d92d9c3aSDavid Herrmannmenuconfig DRM_LEGACY
231d92d9c3aSDavid Herrmann	bool "Enable legacy drivers (DANGEROUS)"
232d92d9c3aSDavid Herrmann	depends on DRM
233d92d9c3aSDavid Herrmann	help
234d92d9c3aSDavid Herrmann	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
235d92d9c3aSDavid Herrmann	  APIs to user-space, which can be used to circumvent access
236d92d9c3aSDavid Herrmann	  restrictions and other security measures. For backwards compatibility
237d92d9c3aSDavid Herrmann	  those drivers are still available, but their use is highly
238d92d9c3aSDavid Herrmann	  inadvisable and might harm your system.
239d92d9c3aSDavid Herrmann
240d92d9c3aSDavid Herrmann	  You are recommended to use the safe modeset-only drivers instead, and
241d92d9c3aSDavid Herrmann	  perform 3D emulation in user-space.
242d92d9c3aSDavid Herrmann
243d92d9c3aSDavid Herrmann	  Unless you have strong reasons to go rogue, say "N".
244d92d9c3aSDavid Herrmann
245d92d9c3aSDavid Herrmannif DRM_LEGACY
246d92d9c3aSDavid Herrmann
247d92d9c3aSDavid Herrmannconfig DRM_TDFX
248d92d9c3aSDavid Herrmann	tristate "3dfx Banshee/Voodoo3+"
249d92d9c3aSDavid Herrmann	depends on DRM && PCI
250d92d9c3aSDavid Herrmann	help
251d92d9c3aSDavid Herrmann	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
252d92d9c3aSDavid Herrmann	  graphics card.  If M is selected, the module will be called tdfx.
253d92d9c3aSDavid Herrmann
254d92d9c3aSDavid Herrmannconfig DRM_R128
255d92d9c3aSDavid Herrmann	tristate "ATI Rage 128"
256d92d9c3aSDavid Herrmann	depends on DRM && PCI
257d92d9c3aSDavid Herrmann	select FW_LOADER
258d92d9c3aSDavid Herrmann	help
259d92d9c3aSDavid Herrmann	  Choose this option if you have an ATI Rage 128 graphics card.  If M
260d92d9c3aSDavid Herrmann	  is selected, the module will be called r128.  AGP support for
261d92d9c3aSDavid Herrmann	  this card is strongly suggested (unless you have a PCI version).
262d92d9c3aSDavid Herrmann
263d92d9c3aSDavid Herrmannconfig DRM_I810
264d92d9c3aSDavid Herrmann	tristate "Intel I810"
265d92d9c3aSDavid Herrmann	# !PREEMPT because of missing ioctl locking
266d92d9c3aSDavid Herrmann	depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
267d92d9c3aSDavid Herrmann	help
268d92d9c3aSDavid Herrmann	  Choose this option if you have an Intel I810 graphics card.  If M is
269d92d9c3aSDavid Herrmann	  selected, the module will be called i810.  AGP support is required
270d92d9c3aSDavid Herrmann	  for this driver to work.
271d92d9c3aSDavid Herrmann
272d92d9c3aSDavid Herrmannconfig DRM_MGA
273d92d9c3aSDavid Herrmann	tristate "Matrox g200/g400"
274d92d9c3aSDavid Herrmann	depends on DRM && PCI
275d92d9c3aSDavid Herrmann	select FW_LOADER
276d92d9c3aSDavid Herrmann	help
277d92d9c3aSDavid Herrmann	  Choose this option if you have a Matrox G200, G400 or G450 graphics
278d92d9c3aSDavid Herrmann	  card.  If M is selected, the module will be called mga.  AGP
279d92d9c3aSDavid Herrmann	  support is required for this driver to work.
280d92d9c3aSDavid Herrmann
281d92d9c3aSDavid Herrmannconfig DRM_SIS
282d92d9c3aSDavid Herrmann	tristate "SiS video cards"
283d92d9c3aSDavid Herrmann	depends on DRM && AGP
284d92d9c3aSDavid Herrmann	depends on FB_SIS || FB_SIS=n
285d92d9c3aSDavid Herrmann	help
286d92d9c3aSDavid Herrmann	  Choose this option if you have a SiS 630 or compatible video
287d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called sis. AGP
288d92d9c3aSDavid Herrmann	  support is required for this driver to work.
289d92d9c3aSDavid Herrmann
290d92d9c3aSDavid Herrmannconfig DRM_VIA
291d92d9c3aSDavid Herrmann	tristate "Via unichrome video cards"
292d92d9c3aSDavid Herrmann	depends on DRM && PCI
293d92d9c3aSDavid Herrmann	help
294d92d9c3aSDavid Herrmann	  Choose this option if you have a Via unichrome or compatible video
295d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called via.
296d92d9c3aSDavid Herrmann
297d92d9c3aSDavid Herrmannconfig DRM_SAVAGE
298d92d9c3aSDavid Herrmann	tristate "Savage video cards"
299d92d9c3aSDavid Herrmann	depends on DRM && PCI
300d92d9c3aSDavid Herrmann	help
301d92d9c3aSDavid Herrmann	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
302d92d9c3aSDavid Herrmann	  chipset. If M is selected the module will be called savage.
303d92d9c3aSDavid Herrmann
304d92d9c3aSDavid Herrmannendif # DRM_LEGACY
305