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