xref: /linux/drivers/gpu/drm/Kconfig (revision 182c2909e22d8a3ec39f8a4530fa19867cbd989b)
1#
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#
7menuconfig DRM
8	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
9	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && MMU && HAS_DMA
10	select HDMI
11	select FB_CMDLINE
12	select I2C
13	select I2C_ALGOBIT
14	select DMA_SHARED_BUFFER
15	select SYNC_FILE
16	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
23	  (/dev/agpgart) support if it is available for your platform.
24
25config DRM_MIPI_DSI
26	bool
27	depends on DRM
28
29config 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
37config DRM_DEBUG_MM
38	bool "Insert extra checks and debug info into the DRM range managers"
39	default n
40	depends on DRM=y
41	depends on STACKTRACE_SUPPORT
42	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
51config DRM_KMS_HELPER
52	tristate
53	depends on DRM
54	help
55	  CRTC helpers for KMS drivers.
56
57config DRM_KMS_FB_HELPER
58	bool
59	depends on DRM_KMS_HELPER
60	select FB
61	select FRAMEBUFFER_CONSOLE if !EXPERT
62	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
63	select FB_SYS_FOPS
64	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
70	select FB_DEFERRED_IO
71	help
72	  FBDEV helpers for KMS drivers.
73
74config 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
87config 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
99config DRM_TTM
100	tristate
101	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
107config DRM_GEM_CMA_HELPER
108	bool
109	depends on DRM
110	help
111	  Choose this if you need the GEM CMA helper functions
112
113config DRM_KMS_CMA_HELPER
114	bool
115	depends on DRM
116	select DRM_GEM_CMA_HELPER
117	select DRM_KMS_FB_HELPER
118	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
124source "drivers/gpu/drm/i2c/Kconfig"
125
126source "drivers/gpu/drm/arm/Kconfig"
127
128config DRM_RADEON
129	tristate "ATI Radeon"
130	depends on DRM && PCI
131	select FW_LOADER
132        select DRM_KMS_HELPER
133        select DRM_TTM
134	select POWER_SUPPLY
135	select HWMON
136	select BACKLIGHT_CLASS_DEVICE
137	select BACKLIGHT_LCD_SUPPORT
138	select INTERVAL_TREE
139	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
142	  run the Radeon in plain VGA mode.
143
144	  If M is selected, the module will be called radeon.
145
146source "drivers/gpu/drm/radeon/Kconfig"
147
148config DRM_AMDGPU
149	tristate "AMD GPU"
150	depends on DRM && PCI
151	select FW_LOADER
152        select DRM_KMS_HELPER
153        select DRM_TTM
154	select POWER_SUPPLY
155	select HWMON
156	select BACKLIGHT_CLASS_DEVICE
157	select BACKLIGHT_LCD_SUPPORT
158	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"
165
166source "drivers/gpu/drm/nouveau/Kconfig"
167
168source "drivers/gpu/drm/i915/Kconfig"
169
170config 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
179source "drivers/gpu/drm/exynos/Kconfig"
180
181source "drivers/gpu/drm/rockchip/Kconfig"
182
183source "drivers/gpu/drm/vmwgfx/Kconfig"
184
185source "drivers/gpu/drm/gma500/Kconfig"
186
187source "drivers/gpu/drm/udl/Kconfig"
188
189source "drivers/gpu/drm/ast/Kconfig"
190
191source "drivers/gpu/drm/mgag200/Kconfig"
192
193source "drivers/gpu/drm/cirrus/Kconfig"
194
195source "drivers/gpu/drm/armada/Kconfig"
196
197source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
198
199source "drivers/gpu/drm/rcar-du/Kconfig"
200
201source "drivers/gpu/drm/shmobile/Kconfig"
202
203source "drivers/gpu/drm/sun4i/Kconfig"
204
205source "drivers/gpu/drm/omapdrm/Kconfig"
206
207source "drivers/gpu/drm/tilcdc/Kconfig"
208
209source "drivers/gpu/drm/qxl/Kconfig"
210
211source "drivers/gpu/drm/bochs/Kconfig"
212
213source "drivers/gpu/drm/virtio/Kconfig"
214
215source "drivers/gpu/drm/msm/Kconfig"
216
217source "drivers/gpu/drm/fsl-dcu/Kconfig"
218
219source "drivers/gpu/drm/tegra/Kconfig"
220
221source "drivers/gpu/drm/panel/Kconfig"
222
223source "drivers/gpu/drm/bridge/Kconfig"
224
225source "drivers/gpu/drm/sti/Kconfig"
226
227source "drivers/gpu/drm/amd/amdkfd/Kconfig"
228
229source "drivers/gpu/drm/imx/Kconfig"
230
231source "drivers/gpu/drm/vc4/Kconfig"
232
233source "drivers/gpu/drm/etnaviv/Kconfig"
234
235source "drivers/gpu/drm/arc/Kconfig"
236
237source "drivers/gpu/drm/hisilicon/Kconfig"
238
239source "drivers/gpu/drm/mediatek/Kconfig"
240
241source "drivers/gpu/drm/zte/Kconfig"
242
243source "drivers/gpu/drm/mxsfb/Kconfig"
244
245source "drivers/gpu/drm/meson/Kconfig"
246
247# Keep legacy drivers last
248
249menuconfig DRM_LEGACY
250	bool "Enable legacy drivers (DANGEROUS)"
251	depends on DRM
252	help
253	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
254	  APIs to user-space, which can be used to circumvent access
255	  restrictions and other security measures. For backwards compatibility
256	  those drivers are still available, but their use is highly
257	  inadvisable and might harm your system.
258
259	  You are recommended to use the safe modeset-only drivers instead, and
260	  perform 3D emulation in user-space.
261
262	  Unless you have strong reasons to go rogue, say "N".
263
264if DRM_LEGACY
265
266config DRM_TDFX
267	tristate "3dfx Banshee/Voodoo3+"
268	depends on DRM && PCI
269	help
270	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
271	  graphics card.  If M is selected, the module will be called tdfx.
272
273config DRM_R128
274	tristate "ATI Rage 128"
275	depends on DRM && PCI
276	select FW_LOADER
277	help
278	  Choose this option if you have an ATI Rage 128 graphics card.  If M
279	  is selected, the module will be called r128.  AGP support for
280	  this card is strongly suggested (unless you have a PCI version).
281
282config DRM_I810
283	tristate "Intel I810"
284	# !PREEMPT because of missing ioctl locking
285	depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
286	help
287	  Choose this option if you have an Intel I810 graphics card.  If M is
288	  selected, the module will be called i810.  AGP support is required
289	  for this driver to work.
290
291config DRM_MGA
292	tristate "Matrox g200/g400"
293	depends on DRM && PCI
294	select FW_LOADER
295	help
296	  Choose this option if you have a Matrox G200, G400 or G450 graphics
297	  card.  If M is selected, the module will be called mga.  AGP
298	  support is required for this driver to work.
299
300config DRM_SIS
301	tristate "SiS video cards"
302	depends on DRM && AGP
303	depends on FB_SIS || FB_SIS=n
304	help
305	  Choose this option if you have a SiS 630 or compatible video
306	  chipset. If M is selected the module will be called sis. AGP
307	  support is required for this driver to work.
308
309config DRM_VIA
310	tristate "Via unichrome video cards"
311	depends on DRM && PCI
312	help
313	  Choose this option if you have a Via unichrome or compatible video
314	  chipset. If M is selected the module will be called via.
315
316config DRM_SAVAGE
317	tristate "Savage video cards"
318	depends on DRM && PCI
319	help
320	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
321	  chipset. If M is selected the module will be called savage.
322
323endif # DRM_LEGACY
324