xref: /openbmc/linux/drivers/gpu/drm/Kconfig (revision de2bdb3d)
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	help
16	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
17	  introduced in XFree86 4.0. If you say Y here, you need to select
18	  the module that's right for your graphics card from the list below.
19	  These modules provide support for synchronization, security, and
20	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
21	  details.  You should also select and configure AGP
22	  (/dev/agpgart) support if it is available for your platform.
23
24config DRM_MIPI_DSI
25	bool
26	depends on DRM
27
28config DRM_DP_AUX_CHARDEV
29	bool "DRM DP AUX Interface"
30	depends on DRM
31	help
32	  Choose this option to enable a /dev/drm_dp_auxN node that allows to
33	  read and write values to arbitrary DPCD registers on the DP aux
34	  channel.
35
36config DRM_DEBUG_MM
37	bool "Insert extra checks and debug info into the DRM range managers"
38	default n
39	depends on DRM=y
40	depends on STACKTRACE_SUPPORT
41	select STACKDEPOT
42	help
43	  Enable allocation tracking of memory manager and leak detection on
44	  shutdown.
45
46	  Recommended for driver developers only.
47
48	  If in doubt, say "N".
49
50config DRM_KMS_HELPER
51	tristate
52	depends on DRM
53	help
54	  CRTC helpers for KMS drivers.
55
56config DRM_KMS_FB_HELPER
57	bool
58	depends on DRM_KMS_HELPER
59	select FB
60	select FRAMEBUFFER_CONSOLE if !EXPERT
61	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
62	select FB_SYS_FOPS
63	select FB_SYS_FILLRECT
64	select FB_SYS_COPYAREA
65	select FB_SYS_IMAGEBLIT
66	select FB_CFB_FILLRECT
67	select FB_CFB_COPYAREA
68	select FB_CFB_IMAGEBLIT
69	select FB_DEFERRED_IO
70	help
71	  FBDEV helpers for KMS drivers.
72
73config DRM_FBDEV_EMULATION
74	bool "Enable legacy fbdev support for your modesetting driver"
75	depends on DRM
76	select DRM_KMS_HELPER
77	select DRM_KMS_FB_HELPER
78	default y
79	help
80	  Choose this option if you have a need for the legacy fbdev
81	  support. Note that this support also provides the linux console
82	  support on top of your modesetting driver.
83
84	  If in doubt, say "Y".
85
86config DRM_LOAD_EDID_FIRMWARE
87	bool "Allow to specify an EDID data set instead of probing for it"
88	depends on DRM_KMS_HELPER
89	help
90	  Say Y here, if you want to use EDID data to be loaded from the
91	  /lib/firmware directory or one of the provided built-in
92	  data sets. This may be necessary, if the graphics adapter or
93	  monitor are unable to provide appropriate EDID data. Since this
94	  feature is provided as a workaround for broken hardware, the
95	  default case is N. Details and instructions how to build your own
96	  EDID data are given in Documentation/EDID/HOWTO.txt.
97
98config DRM_TTM
99	tristate
100	depends on DRM
101	help
102	  GPU memory management subsystem for devices with multiple
103	  GPU memory types. Will be enabled automatically if a device driver
104	  uses it.
105
106config DRM_GEM_CMA_HELPER
107	bool
108	depends on DRM
109	help
110	  Choose this if you need the GEM CMA helper functions
111
112config DRM_KMS_CMA_HELPER
113	bool
114	depends on DRM
115	select DRM_GEM_CMA_HELPER
116	select DRM_KMS_FB_HELPER
117	select FB_SYS_FILLRECT
118	select FB_SYS_COPYAREA
119	select FB_SYS_IMAGEBLIT
120	help
121	  Choose this if you need the KMS CMA helper functions
122
123source "drivers/gpu/drm/i2c/Kconfig"
124
125source "drivers/gpu/drm/arm/Kconfig"
126
127config DRM_RADEON
128	tristate "ATI Radeon"
129	depends on DRM && PCI
130	select FW_LOADER
131        select DRM_KMS_HELPER
132        select DRM_TTM
133	select POWER_SUPPLY
134	select HWMON
135	select BACKLIGHT_CLASS_DEVICE
136	select BACKLIGHT_LCD_SUPPORT
137	select INTERVAL_TREE
138	help
139	  Choose this option if you have an ATI Radeon graphics card.  There
140	  are both PCI and AGP versions.  You don't need to choose this to
141	  run the Radeon in plain VGA mode.
142
143	  If M is selected, the module will be called radeon.
144
145source "drivers/gpu/drm/radeon/Kconfig"
146
147config DRM_AMDGPU
148	tristate "AMD GPU"
149	depends on DRM && PCI
150	select FW_LOADER
151        select DRM_KMS_HELPER
152        select DRM_TTM
153	select POWER_SUPPLY
154	select HWMON
155	select BACKLIGHT_CLASS_DEVICE
156	select BACKLIGHT_LCD_SUPPORT
157	select INTERVAL_TREE
158	help
159	  Choose this option if you have a recent AMD Radeon graphics card.
160
161	  If M is selected, the module will be called amdgpu.
162
163source "drivers/gpu/drm/amd/amdgpu/Kconfig"
164
165source "drivers/gpu/drm/nouveau/Kconfig"
166
167source "drivers/gpu/drm/i915/Kconfig"
168
169config DRM_VGEM
170	tristate "Virtual GEM provider"
171	depends on DRM
172	help
173	  Choose this option to get a virtual graphics memory manager,
174	  as used by Mesa's software renderer for enhanced performance.
175	  If M is selected the module will be called vgem.
176
177
178source "drivers/gpu/drm/exynos/Kconfig"
179
180source "drivers/gpu/drm/rockchip/Kconfig"
181
182source "drivers/gpu/drm/vmwgfx/Kconfig"
183
184source "drivers/gpu/drm/gma500/Kconfig"
185
186source "drivers/gpu/drm/udl/Kconfig"
187
188source "drivers/gpu/drm/ast/Kconfig"
189
190source "drivers/gpu/drm/mgag200/Kconfig"
191
192source "drivers/gpu/drm/cirrus/Kconfig"
193
194source "drivers/gpu/drm/armada/Kconfig"
195
196source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
197
198source "drivers/gpu/drm/rcar-du/Kconfig"
199
200source "drivers/gpu/drm/shmobile/Kconfig"
201
202source "drivers/gpu/drm/sun4i/Kconfig"
203
204source "drivers/gpu/drm/omapdrm/Kconfig"
205
206source "drivers/gpu/drm/tilcdc/Kconfig"
207
208source "drivers/gpu/drm/qxl/Kconfig"
209
210source "drivers/gpu/drm/bochs/Kconfig"
211
212source "drivers/gpu/drm/virtio/Kconfig"
213
214source "drivers/gpu/drm/msm/Kconfig"
215
216source "drivers/gpu/drm/fsl-dcu/Kconfig"
217
218source "drivers/gpu/drm/tegra/Kconfig"
219
220source "drivers/gpu/drm/panel/Kconfig"
221
222source "drivers/gpu/drm/bridge/Kconfig"
223
224source "drivers/gpu/drm/sti/Kconfig"
225
226source "drivers/gpu/drm/amd/amdkfd/Kconfig"
227
228source "drivers/gpu/drm/imx/Kconfig"
229
230source "drivers/gpu/drm/vc4/Kconfig"
231
232source "drivers/gpu/drm/etnaviv/Kconfig"
233
234source "drivers/gpu/drm/arc/Kconfig"
235
236source "drivers/gpu/drm/hisilicon/Kconfig"
237
238source "drivers/gpu/drm/mediatek/Kconfig"
239
240source "drivers/gpu/drm/zte/Kconfig"
241
242# Keep legacy drivers last
243
244menuconfig DRM_LEGACY
245	bool "Enable legacy drivers (DANGEROUS)"
246	depends on DRM
247	help
248	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
249	  APIs to user-space, which can be used to circumvent access
250	  restrictions and other security measures. For backwards compatibility
251	  those drivers are still available, but their use is highly
252	  inadvisable and might harm your system.
253
254	  You are recommended to use the safe modeset-only drivers instead, and
255	  perform 3D emulation in user-space.
256
257	  Unless you have strong reasons to go rogue, say "N".
258
259if DRM_LEGACY
260
261config DRM_TDFX
262	tristate "3dfx Banshee/Voodoo3+"
263	depends on DRM && PCI
264	help
265	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
266	  graphics card.  If M is selected, the module will be called tdfx.
267
268config DRM_R128
269	tristate "ATI Rage 128"
270	depends on DRM && PCI
271	select FW_LOADER
272	help
273	  Choose this option if you have an ATI Rage 128 graphics card.  If M
274	  is selected, the module will be called r128.  AGP support for
275	  this card is strongly suggested (unless you have a PCI version).
276
277config DRM_I810
278	tristate "Intel I810"
279	# !PREEMPT because of missing ioctl locking
280	depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
281	help
282	  Choose this option if you have an Intel I810 graphics card.  If M is
283	  selected, the module will be called i810.  AGP support is required
284	  for this driver to work.
285
286config DRM_MGA
287	tristate "Matrox g200/g400"
288	depends on DRM && PCI
289	select FW_LOADER
290	help
291	  Choose this option if you have a Matrox G200, G400 or G450 graphics
292	  card.  If M is selected, the module will be called mga.  AGP
293	  support is required for this driver to work.
294
295config DRM_SIS
296	tristate "SiS video cards"
297	depends on DRM && AGP
298	depends on FB_SIS || FB_SIS=n
299	help
300	  Choose this option if you have a SiS 630 or compatible video
301	  chipset. If M is selected the module will be called sis. AGP
302	  support is required for this driver to work.
303
304config DRM_VIA
305	tristate "Via unichrome video cards"
306	depends on DRM && PCI
307	help
308	  Choose this option if you have a Via unichrome or compatible video
309	  chipset. If M is selected the module will be called via.
310
311config DRM_SAVAGE
312	tristate "Savage video cards"
313	depends on DRM && PCI
314	help
315	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
316	  chipset. If M is selected the module will be called savage.
317
318endif # DRM_LEGACY
319