xref: /linux/drivers/gpu/drm/Kconfig (revision a8fe58cec351c25e09c393bf46117c0c47b5a17c)
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
286fcefd56SDave Airlieconfig DRM_KMS_HELPER
2913a8195bSDave Airlie	tristate
3013a8195bSDave Airlie	depends on DRM
3192b6f89fSDaniel Vetter	help
3292b6f89fSDaniel Vetter	  CRTC helpers for KMS drivers.
3392b6f89fSDaniel Vetter
3492b6f89fSDaniel Vetterconfig DRM_KMS_FB_HELPER
3592b6f89fSDaniel Vetter	bool
3692b6f89fSDaniel Vetter	depends on DRM_KMS_HELPER
3713a8195bSDave Airlie	select FB
386a108a14SDavid Rientjes	select FRAMEBUFFER_CONSOLE if !EXPERT
39bf5192edSDave Airlie	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
40cbb1a82eSArchit Taneja	select FB_SYS_FOPS
41742547b7SArchit Taneja	select FB_SYS_FILLRECT
42742547b7SArchit Taneja	select FB_SYS_COPYAREA
43742547b7SArchit Taneja	select FB_SYS_IMAGEBLIT
44742547b7SArchit Taneja	select FB_CFB_FILLRECT
45742547b7SArchit Taneja	select FB_CFB_COPYAREA
46742547b7SArchit Taneja	select FB_CFB_IMAGEBLIT
4713a8195bSDave Airlie	help
4892b6f89fSDaniel Vetter	  FBDEV helpers for KMS drivers.
4913a8195bSDave Airlie
50a03fdcb1SArchit Tanejaconfig DRM_FBDEV_EMULATION
51a03fdcb1SArchit Taneja	bool "Enable legacy fbdev support for your modesetting driver"
52a03fdcb1SArchit Taneja	depends on DRM
53a03fdcb1SArchit Taneja	select DRM_KMS_HELPER
54a03fdcb1SArchit Taneja	select DRM_KMS_FB_HELPER
55a03fdcb1SArchit Taneja	default y
56a03fdcb1SArchit Taneja	help
57a03fdcb1SArchit Taneja	  Choose this option if you have a need for the legacy fbdev
58a03fdcb1SArchit Taneja	  support. Note that this support also provides the linux console
59a03fdcb1SArchit Taneja	  support on top of your modesetting driver.
60a03fdcb1SArchit Taneja
61a03fdcb1SArchit Taneja	  If in doubt, say "Y".
62a03fdcb1SArchit Taneja
63da0df92bSCarsten Emdeconfig DRM_LOAD_EDID_FIRMWARE
64da0df92bSCarsten Emde	bool "Allow to specify an EDID data set instead of probing for it"
65da0df92bSCarsten Emde	depends on DRM_KMS_HELPER
66da0df92bSCarsten Emde	help
67da0df92bSCarsten Emde	  Say Y here, if you want to use EDID data to be loaded from the
68da0df92bSCarsten Emde	  /lib/firmware directory or one of the provided built-in
69da0df92bSCarsten Emde	  data sets. This may be necessary, if the graphics adapter or
70da0df92bSCarsten Emde	  monitor are unable to provide appropriate EDID data. Since this
71da0df92bSCarsten Emde	  feature is provided as a workaround for broken hardware, the
72da0df92bSCarsten Emde	  default case is N. Details and instructions how to build your own
73da0df92bSCarsten Emde	  EDID data are given in Documentation/EDID/HOWTO.txt.
74da0df92bSCarsten Emde
75ba4e7d97SThomas Hellstromconfig DRM_TTM
76771fe6b9SJerome Glisse	tristate
77ba4e7d97SThomas Hellstrom	depends on DRM
78ba4e7d97SThomas Hellstrom	help
79ba4e7d97SThomas Hellstrom	  GPU memory management subsystem for devices with multiple
80ba4e7d97SThomas Hellstrom	  GPU memory types. Will be enabled automatically if a device driver
81ba4e7d97SThomas Hellstrom	  uses it.
82ba4e7d97SThomas Hellstrom
83b9d47450SSascha Hauerconfig DRM_GEM_CMA_HELPER
84b9d47450SSascha Hauer	bool
85e1c7e324SChristoph Hellwig	depends on DRM
86b9d47450SSascha Hauer	help
87b9d47450SSascha Hauer	  Choose this if you need the GEM CMA helper functions
88b9d47450SSascha Hauer
892e3b3c42SLars-Peter Clausenconfig DRM_KMS_CMA_HELPER
902e3b3c42SLars-Peter Clausen	bool
91e1c7e324SChristoph Hellwig	depends on DRM
922e3b3c42SLars-Peter Clausen	select DRM_GEM_CMA_HELPER
9392b6f89fSDaniel Vetter	select DRM_KMS_FB_HELPER
942e3b3c42SLars-Peter Clausen	select FB_SYS_FILLRECT
952e3b3c42SLars-Peter Clausen	select FB_SYS_COPYAREA
962e3b3c42SLars-Peter Clausen	select FB_SYS_IMAGEBLIT
972e3b3c42SLars-Peter Clausen	help
982e3b3c42SLars-Peter Clausen	  Choose this if you need the KMS CMA helper functions
992e3b3c42SLars-Peter Clausen
1006504d0d9SRob Clarksource "drivers/gpu/drm/i2c/Kconfig"
1016504d0d9SRob Clark
102c0e09200SDave Airlieconfig DRM_TDFX
103c0e09200SDave Airlie	tristate "3dfx Banshee/Voodoo3+"
104c0e09200SDave Airlie	depends on DRM && PCI
105c0e09200SDave Airlie	help
106c0e09200SDave Airlie	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
107c0e09200SDave Airlie	  graphics card.  If M is selected, the module will be called tdfx.
108c0e09200SDave Airlie
109c0e09200SDave Airlieconfig DRM_R128
110c0e09200SDave Airlie	tristate "ATI Rage 128"
111c0e09200SDave Airlie	depends on DRM && PCI
11252f97df5SBen Hutchings	select FW_LOADER
113c0e09200SDave Airlie	help
114c0e09200SDave Airlie	  Choose this option if you have an ATI Rage 128 graphics card.  If M
115c0e09200SDave Airlie	  is selected, the module will be called r128.  AGP support for
116c0e09200SDave Airlie	  this card is strongly suggested (unless you have a PCI version).
117c0e09200SDave Airlie
118c0e09200SDave Airlieconfig DRM_RADEON
119c0e09200SDave Airlie	tristate "ATI Radeon"
120c0e09200SDave Airlie	depends on DRM && PCI
121771fe6b9SJerome Glisse	select FB_CFB_FILLRECT
122771fe6b9SJerome Glisse	select FB_CFB_COPYAREA
123771fe6b9SJerome Glisse	select FB_CFB_IMAGEBLIT
12470967ab9SBen Hutchings	select FW_LOADER
125a0cdc649SDave Airlie        select DRM_KMS_HELPER
12692b6f89fSDaniel Vetter	select DRM_KMS_FB_HELPER
127a0cdc649SDave Airlie        select DRM_TTM
1285d9b7e2dSDave Airlie	select POWER_SUPPLY
12921a8122aSAlex Deucher	select HWMON
13014adc892SChristian König	select BACKLIGHT_CLASS_DEVICE
13133610527SThierry Reding	select BACKLIGHT_LCD_SUPPORT
1320aea5e4aSAlex Deucher	select INTERVAL_TREE
133c0e09200SDave Airlie	help
134c0e09200SDave Airlie	  Choose this option if you have an ATI Radeon graphics card.  There
135c0e09200SDave Airlie	  are both PCI and AGP versions.  You don't need to choose this to
136c0e09200SDave Airlie	  run the Radeon in plain VGA mode.
137c0e09200SDave Airlie
138c0e09200SDave Airlie	  If M is selected, the module will be called radeon.
139c0e09200SDave Airlie
140f71d0187SDave Airliesource "drivers/gpu/drm/radeon/Kconfig"
141f71d0187SDave Airlie
142d38ceaf9SAlex Deucherconfig DRM_AMDGPU
143d38ceaf9SAlex Deucher	tristate "AMD GPU"
144d38ceaf9SAlex Deucher	depends on DRM && PCI
145d38ceaf9SAlex Deucher	select FB_CFB_FILLRECT
146d38ceaf9SAlex Deucher	select FB_CFB_COPYAREA
147d38ceaf9SAlex Deucher	select FB_CFB_IMAGEBLIT
148d38ceaf9SAlex Deucher	select FW_LOADER
149d38ceaf9SAlex Deucher        select DRM_KMS_HELPER
150d38ceaf9SAlex Deucher	select DRM_KMS_FB_HELPER
151d38ceaf9SAlex Deucher        select DRM_TTM
152d38ceaf9SAlex Deucher	select POWER_SUPPLY
153d38ceaf9SAlex Deucher	select HWMON
154d38ceaf9SAlex Deucher	select BACKLIGHT_CLASS_DEVICE
155b325a789SThierry Reding	select BACKLIGHT_LCD_SUPPORT
156d38ceaf9SAlex Deucher	select INTERVAL_TREE
157d38ceaf9SAlex Deucher	help
158d38ceaf9SAlex Deucher	  Choose this option if you have a recent AMD Radeon graphics card.
159d38ceaf9SAlex Deucher
160d38ceaf9SAlex Deucher	  If M is selected, the module will be called amdgpu.
161d38ceaf9SAlex Deucher
162d38ceaf9SAlex Deuchersource "drivers/gpu/drm/amd/amdgpu/Kconfig"
1631f7371b2SAlex Deuchersource "drivers/gpu/drm/amd/powerplay/Kconfig"
164d38ceaf9SAlex Deucher
165*a8fe58ceSMaruthi Bayyavarapusource "drivers/gpu/drm/amd/acp/Kconfig"
166*a8fe58ceSMaruthi Bayyavarapu
167f3c93cbdSBen Skeggssource "drivers/gpu/drm/nouveau/Kconfig"
168f3c93cbdSBen Skeggs
169c0e09200SDave Airlieconfig DRM_I810
170c0e09200SDave Airlie	tristate "Intel I810"
1711f692a14SArnd Bergmann	# !PREEMPT because of missing ioctl locking
1721f692a14SArnd Bergmann	depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
173c0e09200SDave Airlie	help
174c0e09200SDave Airlie	  Choose this option if you have an Intel I810 graphics card.  If M is
175c0e09200SDave Airlie	  selected, the module will be called i810.  AGP support is required
176c0e09200SDave Airlie	  for this driver to work.
177c0e09200SDave Airlie
1784520f53aSDaniel Vettersource "drivers/gpu/drm/i915/Kconfig"
17999486b8eSJosh Triplett
180c0e09200SDave Airlieconfig DRM_MGA
181c0e09200SDave Airlie	tristate "Matrox g200/g400"
182f5f05c8aSDave Airlie	depends on DRM && PCI
183ece2be79SBen Hutchings	select FW_LOADER
184c0e09200SDave Airlie	help
185c0e09200SDave Airlie	  Choose this option if you have a Matrox G200, G400 or G450 graphics
186c0e09200SDave Airlie	  card.  If M is selected, the module will be called mga.  AGP
187c0e09200SDave Airlie	  support is required for this driver to work.
188c0e09200SDave Airlie
189c0e09200SDave Airlieconfig DRM_SIS
190c0e09200SDave Airlie	tristate "SiS video cards"
191c0e09200SDave Airlie	depends on DRM && AGP
192dfcf96d0SAdrian Bunk	depends on FB_SIS || FB_SIS=n
193c0e09200SDave Airlie	help
194c0e09200SDave Airlie	  Choose this option if you have a SiS 630 or compatible video
195c0e09200SDave Airlie          chipset. If M is selected the module will be called sis. AGP
196c0e09200SDave Airlie          support is required for this driver to work.
197c0e09200SDave Airlie
198c0e09200SDave Airlieconfig DRM_VIA
199c0e09200SDave Airlie	tristate "Via unichrome video cards"
200f5f05c8aSDave Airlie	depends on DRM && PCI
201c0e09200SDave Airlie	help
202c0e09200SDave Airlie	  Choose this option if you have a Via unichrome or compatible video
203c0e09200SDave Airlie	  chipset. If M is selected the module will be called via.
204c0e09200SDave Airlie
205c0e09200SDave Airlieconfig DRM_SAVAGE
206c0e09200SDave Airlie	tristate "Savage video cards"
207f5f05c8aSDave Airlie	depends on DRM && PCI
208c0e09200SDave Airlie	help
209c0e09200SDave Airlie	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
210c0e09200SDave Airlie	  chipset. If M is selected the module will be called savage.
2111c248b7dSInki Dae
212502e95c6SZach Reiznerconfig DRM_VGEM
213502e95c6SZach Reizner	tristate "Virtual GEM provider"
214502e95c6SZach Reizner	depends on DRM
215502e95c6SZach Reizner	help
216502e95c6SZach Reizner	  Choose this option to get a virtual graphics memory manager,
217502e95c6SZach Reizner	  as used by Mesa's software renderer for enhanced performance.
218502e95c6SZach Reizner	  If M is selected the module will be called vgem.
219502e95c6SZach Reizner
220502e95c6SZach Reizner
2211c248b7dSInki Daesource "drivers/gpu/drm/exynos/Kconfig"
2225a7b74beSThomas Hellstrom
2232048e328SMark Yaosource "drivers/gpu/drm/rockchip/Kconfig"
2242048e328SMark Yao
2255a7b74beSThomas Hellstromsource "drivers/gpu/drm/vmwgfx/Kconfig"
22691c75492SAlan Cox
22791c75492SAlan Coxsource "drivers/gpu/drm/gma500/Kconfig"
22891c75492SAlan Cox
2295320918bSDave Airliesource "drivers/gpu/drm/udl/Kconfig"
230312fec14SDave Airlie
231312fec14SDave Airliesource "drivers/gpu/drm/ast/Kconfig"
232312fec14SDave Airlie
233414c4531SDave Airliesource "drivers/gpu/drm/mgag200/Kconfig"
234f9aa76a8SDave Airlie
235f9aa76a8SDave Airliesource "drivers/gpu/drm/cirrus/Kconfig"
23651c13278SLaurent Pinchart
23796f60e37SRussell Kingsource "drivers/gpu/drm/armada/Kconfig"
23896f60e37SRussell King
2391a396789SBoris Brezillonsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
2401a396789SBoris Brezillon
2414bf8e196SLaurent Pinchartsource "drivers/gpu/drm/rcar-du/Kconfig"
2424bf8e196SLaurent Pinchart
24351c13278SLaurent Pinchartsource "drivers/gpu/drm/shmobile/Kconfig"
244d8f4a9edSThierry Reding
2458bb0daffSRob Clarksource "drivers/gpu/drm/omapdrm/Kconfig"
246ca18e142SDave Airlie
24716ea975eSRob Clarksource "drivers/gpu/drm/tilcdc/Kconfig"
248f64122c1SDave Airlie
249f64122c1SDave Airliesource "drivers/gpu/drm/qxl/Kconfig"
250c8afe684SRob Clark
2510a6659bdSGerd Hoffmannsource "drivers/gpu/drm/bochs/Kconfig"
2520a6659bdSGerd Hoffmann
253dc5698e8SDave Airliesource "drivers/gpu/drm/virtio/Kconfig"
254dc5698e8SDave Airlie
255c8afe684SRob Clarksource "drivers/gpu/drm/msm/Kconfig"
256dee8268fSThierry Reding
257109eee2fSJianwei Wangsource "drivers/gpu/drm/fsl-dcu/Kconfig"
258109eee2fSJianwei Wang
259dee8268fSThierry Redingsource "drivers/gpu/drm/tegra/Kconfig"
260aead40eaSThierry Reding
261aead40eaSThierry Redingsource "drivers/gpu/drm/panel/Kconfig"
262f2cb3148SBenjamin Gaignard
263a33ee95fSThierry Redingsource "drivers/gpu/drm/bridge/Kconfig"
264a33ee95fSThierry Reding
265f2cb3148SBenjamin Gaignardsource "drivers/gpu/drm/sti/Kconfig"
2664a488a7aSOded Gabbay
2674a488a7aSOded Gabbaysource "drivers/gpu/drm/amd/amdkfd/Kconfig"
2686556f7f8SPhilipp Zabel
2696556f7f8SPhilipp Zabelsource "drivers/gpu/drm/imx/Kconfig"
270c8b75bcaSEric Anholt
271c8b75bcaSEric Anholtsource "drivers/gpu/drm/vc4/Kconfig"
272a8c21a54SThe etnaviv authors
273a8c21a54SThe etnaviv authorssource "drivers/gpu/drm/etnaviv/Kconfig"
274