xref: /OK3568_Linux_fs/kernel/drivers/gpu/drm/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# Drm device configuration
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun# This driver provides support for the
6*4882a593Smuzhiyun# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
7*4882a593Smuzhiyun#
8*4882a593Smuzhiyunmenuconfig DRM
9*4882a593Smuzhiyun	tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
10*4882a593Smuzhiyun	depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
11*4882a593Smuzhiyun	select DRM_PANEL_ORIENTATION_QUIRKS
12*4882a593Smuzhiyun	select HDMI if !ROCKCHIP_MINI_KERNEL
13*4882a593Smuzhiyun	select FB_CMDLINE
14*4882a593Smuzhiyun	select I2C
15*4882a593Smuzhiyun	select I2C_ALGOBIT if !ROCKCHIP_MINI_KERNEL
16*4882a593Smuzhiyun	select DMA_SHARED_BUFFER
17*4882a593Smuzhiyun	select SYNC_FILE
18*4882a593Smuzhiyun# gallium uses SYS_kcmp for os_same_file_description() to de-duplicate
19*4882a593Smuzhiyun# device and dmabuf fd. Let's make sure that is available for our userspace.
20*4882a593Smuzhiyun	select KCMP
21*4882a593Smuzhiyun	help
22*4882a593Smuzhiyun	  Kernel-level support for the Direct Rendering Infrastructure (DRI)
23*4882a593Smuzhiyun	  introduced in XFree86 4.0. If you say Y here, you need to select
24*4882a593Smuzhiyun	  the module that's right for your graphics card from the list below.
25*4882a593Smuzhiyun	  These modules provide support for synchronization, security, and
26*4882a593Smuzhiyun	  DMA transfers. Please see <http://dri.sourceforge.net/> for more
27*4882a593Smuzhiyun	  details.  You should also select and configure AGP
28*4882a593Smuzhiyun	  (/dev/agpgart) support if it is available for your platform.
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunconfig DRM_MIPI_DBI
31*4882a593Smuzhiyun	tristate
32*4882a593Smuzhiyun	depends on DRM
33*4882a593Smuzhiyun	select DRM_KMS_HELPER
34*4882a593Smuzhiyun
35*4882a593Smuzhiyunconfig DRM_EDID
36*4882a593Smuzhiyun	bool "EDID function for DRM"
37*4882a593Smuzhiyun	depends on DRM
38*4882a593Smuzhiyun	select HDMI
39*4882a593Smuzhiyun	default y if !ROCKCHIP_MINI_KERNEL
40*4882a593Smuzhiyun	help
41*4882a593Smuzhiyun	  DRM EDID read and parse function.
42*4882a593Smuzhiyun
43*4882a593Smuzhiyunconfig DRM_IGNORE_IOTCL_PERMIT
44*4882a593Smuzhiyun	bool "Ignore drm ioctl permission"
45*4882a593Smuzhiyun	depends on DRM && ANDROID && NO_GKI
46*4882a593Smuzhiyun
47*4882a593Smuzhiyunconfig DRM_MIPI_DSI
48*4882a593Smuzhiyun	bool
49*4882a593Smuzhiyun	depends on DRM
50*4882a593Smuzhiyun
51*4882a593Smuzhiyunconfig DRM_DP
52*4882a593Smuzhiyun	bool "DRM DisplayPort support"
53*4882a593Smuzhiyun	depends on DRM
54*4882a593Smuzhiyun	depends on DRM_KMS_HELPER
55*4882a593Smuzhiyun	default y if DRM_ANALOGIX_DP
56*4882a593Smuzhiyun	default y if !ROCKCHIP_MINI_KERNEL
57*4882a593Smuzhiyun	help
58*4882a593Smuzhiyun	  Choose this option to support DP interface.
59*4882a593Smuzhiyun
60*4882a593Smuzhiyunconfig DRM_DP_AUX_CHARDEV
61*4882a593Smuzhiyun	bool "DRM DP AUX Interface"
62*4882a593Smuzhiyun	depends on DRM
63*4882a593Smuzhiyun	help
64*4882a593Smuzhiyun	  Choose this option to enable a /dev/drm_dp_auxN node that allows to
65*4882a593Smuzhiyun	  read and write values to arbitrary DPCD registers on the DP aux
66*4882a593Smuzhiyun	  channel.
67*4882a593Smuzhiyun
68*4882a593Smuzhiyunconfig DRM_DEBUG_MM
69*4882a593Smuzhiyun	bool "Insert extra checks and debug info into the DRM range managers"
70*4882a593Smuzhiyun	default n
71*4882a593Smuzhiyun	depends on DRM=y
72*4882a593Smuzhiyun	depends on STACKTRACE_SUPPORT
73*4882a593Smuzhiyun	select STACKDEPOT
74*4882a593Smuzhiyun	help
75*4882a593Smuzhiyun	  Enable allocation tracking of memory manager and leak detection on
76*4882a593Smuzhiyun	  shutdown.
77*4882a593Smuzhiyun
78*4882a593Smuzhiyun	  Recommended for driver developers only.
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun	  If in doubt, say "N".
81*4882a593Smuzhiyun
82*4882a593Smuzhiyunconfig DRM_DEBUG_SELFTEST
83*4882a593Smuzhiyun	tristate "kselftests for DRM"
84*4882a593Smuzhiyun	depends on DRM
85*4882a593Smuzhiyun	depends on DEBUG_KERNEL
86*4882a593Smuzhiyun	select PRIME_NUMBERS
87*4882a593Smuzhiyun	select DRM_LIB_RANDOM
88*4882a593Smuzhiyun	select DRM_KMS_HELPER
89*4882a593Smuzhiyun	select DRM_EXPORT_FOR_TESTS if m
90*4882a593Smuzhiyun	default n
91*4882a593Smuzhiyun	help
92*4882a593Smuzhiyun	  This option provides kernel modules that can be used to run
93*4882a593Smuzhiyun	  various selftests on parts of the DRM api. This option is not
94*4882a593Smuzhiyun	  useful for distributions or general kernels, but only for kernel
95*4882a593Smuzhiyun	  developers working on DRM and associated drivers.
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun	  If in doubt, say "N".
98*4882a593Smuzhiyun
99*4882a593Smuzhiyunconfig DRM_KMS_HELPER
100*4882a593Smuzhiyun	tristate
101*4882a593Smuzhiyun	depends on DRM
102*4882a593Smuzhiyun	help
103*4882a593Smuzhiyun	  CRTC helpers for KMS drivers.
104*4882a593Smuzhiyun
105*4882a593Smuzhiyunconfig DRM_KMS_FB_HELPER
106*4882a593Smuzhiyun	bool
107*4882a593Smuzhiyun	depends on DRM_KMS_HELPER
108*4882a593Smuzhiyun	select FB
109*4882a593Smuzhiyun	select FRAMEBUFFER_CONSOLE if !EXPERT
110*4882a593Smuzhiyun	select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
111*4882a593Smuzhiyun	select FB_SYS_FOPS
112*4882a593Smuzhiyun	select FB_SYS_FILLRECT
113*4882a593Smuzhiyun	select FB_SYS_COPYAREA
114*4882a593Smuzhiyun	select FB_SYS_IMAGEBLIT
115*4882a593Smuzhiyun	select FB_CFB_FILLRECT
116*4882a593Smuzhiyun	select FB_CFB_COPYAREA
117*4882a593Smuzhiyun	select FB_CFB_IMAGEBLIT
118*4882a593Smuzhiyun	select FB_DEFERRED_IO
119*4882a593Smuzhiyun	help
120*4882a593Smuzhiyun	  FBDEV helpers for KMS drivers.
121*4882a593Smuzhiyun
122*4882a593Smuzhiyunconfig DRM_DEBUG_DP_MST_TOPOLOGY_REFS
123*4882a593Smuzhiyun        bool "Enable refcount backtrace history in the DP MST helpers"
124*4882a593Smuzhiyun	depends on STACKTRACE_SUPPORT
125*4882a593Smuzhiyun        select STACKDEPOT
126*4882a593Smuzhiyun        depends on DRM_KMS_HELPER
127*4882a593Smuzhiyun        depends on DEBUG_KERNEL
128*4882a593Smuzhiyun        depends on EXPERT
129*4882a593Smuzhiyun        help
130*4882a593Smuzhiyun          Enables debug tracing for topology refs in DRM's DP MST helpers. A
131*4882a593Smuzhiyun          history of each topology reference/dereference will be printed to the
132*4882a593Smuzhiyun          kernel log once a port or branch device's topology refcount reaches 0.
133*4882a593Smuzhiyun
134*4882a593Smuzhiyun          This has the potential to use a lot of memory and print some very
135*4882a593Smuzhiyun          large kernel messages. If in doubt, say "N".
136*4882a593Smuzhiyun
137*4882a593Smuzhiyunconfig DRM_FBDEV_EMULATION
138*4882a593Smuzhiyun	bool "Enable legacy fbdev support for your modesetting driver"
139*4882a593Smuzhiyun	depends on DRM
140*4882a593Smuzhiyun	select DRM_KMS_HELPER
141*4882a593Smuzhiyun	select DRM_KMS_FB_HELPER
142*4882a593Smuzhiyun	default y
143*4882a593Smuzhiyun	help
144*4882a593Smuzhiyun	  Choose this option if you have a need for the legacy fbdev
145*4882a593Smuzhiyun	  support. Note that this support also provides the linux console
146*4882a593Smuzhiyun	  support on top of your modesetting driver.
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun	  If in doubt, say "Y".
149*4882a593Smuzhiyun
150*4882a593Smuzhiyunconfig DRM_FBDEV_OVERALLOC
151*4882a593Smuzhiyun	int "Overallocation of the fbdev buffer"
152*4882a593Smuzhiyun	depends on DRM_FBDEV_EMULATION
153*4882a593Smuzhiyun	default 100
154*4882a593Smuzhiyun	help
155*4882a593Smuzhiyun	  Defines the fbdev buffer overallocation in percent. Default
156*4882a593Smuzhiyun	  is 100. Typical values for double buffering will be 200,
157*4882a593Smuzhiyun	  triple buffering 300.
158*4882a593Smuzhiyun
159*4882a593Smuzhiyunconfig DRM_FBDEV_LEAK_PHYS_SMEM
160*4882a593Smuzhiyun	bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
161*4882a593Smuzhiyun	depends on DRM_FBDEV_EMULATION && EXPERT
162*4882a593Smuzhiyun	default n
163*4882a593Smuzhiyun	help
164*4882a593Smuzhiyun	  In order to keep user-space compatibility, we want in certain
165*4882a593Smuzhiyun	  use-cases to keep leaking the fbdev physical address to the
166*4882a593Smuzhiyun	  user-space program handling the fbdev buffer.
167*4882a593Smuzhiyun	  This affects, not only, Amlogic, Allwinner or Rockchip devices
168*4882a593Smuzhiyun	  with ARM Mali GPUs using an userspace Blob.
169*4882a593Smuzhiyun	  This option is not supported by upstream developers and should be
170*4882a593Smuzhiyun	  removed as soon as possible and be considered as a broken and
171*4882a593Smuzhiyun	  legacy behaviour from a modern fbdev device driver.
172*4882a593Smuzhiyun
173*4882a593Smuzhiyun	  Please send any bug reports when using this to your proprietary
174*4882a593Smuzhiyun	  software vendor that requires this.
175*4882a593Smuzhiyun
176*4882a593Smuzhiyun	  If in doubt, say "N" or spread the word to your closed source
177*4882a593Smuzhiyun	  library vendor.
178*4882a593Smuzhiyun
179*4882a593Smuzhiyunconfig DRM_LOAD_EDID_FIRMWARE
180*4882a593Smuzhiyun	bool "Allow to specify an EDID data set instead of probing for it"
181*4882a593Smuzhiyun	depends on DRM
182*4882a593Smuzhiyun	help
183*4882a593Smuzhiyun	  Say Y here, if you want to use EDID data to be loaded from the
184*4882a593Smuzhiyun	  /lib/firmware directory or one of the provided built-in
185*4882a593Smuzhiyun	  data sets. This may be necessary, if the graphics adapter or
186*4882a593Smuzhiyun	  monitor are unable to provide appropriate EDID data. Since this
187*4882a593Smuzhiyun	  feature is provided as a workaround for broken hardware, the
188*4882a593Smuzhiyun	  default case is N. Details and instructions how to build your own
189*4882a593Smuzhiyun	  EDID data are given in Documentation/admin-guide/edid.rst.
190*4882a593Smuzhiyun
191*4882a593Smuzhiyunconfig DRM_DP_CEC
192*4882a593Smuzhiyun	bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support"
193*4882a593Smuzhiyun	depends on DRM
194*4882a593Smuzhiyun	select CEC_CORE
195*4882a593Smuzhiyun	help
196*4882a593Smuzhiyun	  Choose this option if you want to enable HDMI CEC support for
197*4882a593Smuzhiyun	  DisplayPort/USB-C to HDMI adapters.
198*4882a593Smuzhiyun
199*4882a593Smuzhiyun	  Note: not all adapters support this feature, and even for those
200*4882a593Smuzhiyun	  that do support this they often do not hook up the CEC pin.
201*4882a593Smuzhiyun
202*4882a593Smuzhiyunconfig DRM_TTM
203*4882a593Smuzhiyun	tristate
204*4882a593Smuzhiyun	depends on DRM && MMU
205*4882a593Smuzhiyun	help
206*4882a593Smuzhiyun	  GPU memory management subsystem for devices with multiple
207*4882a593Smuzhiyun	  GPU memory types. Will be enabled automatically if a device driver
208*4882a593Smuzhiyun	  uses it.
209*4882a593Smuzhiyun
210*4882a593Smuzhiyunconfig DRM_TTM_DMA_PAGE_POOL
211*4882a593Smuzhiyun	bool
212*4882a593Smuzhiyun	depends on DRM_TTM && (SWIOTLB || INTEL_IOMMU)
213*4882a593Smuzhiyun	default y
214*4882a593Smuzhiyun	help
215*4882a593Smuzhiyun	  Choose this if you need the TTM dma page pool
216*4882a593Smuzhiyun
217*4882a593Smuzhiyunconfig DRM_VRAM_HELPER
218*4882a593Smuzhiyun	tristate
219*4882a593Smuzhiyun	depends on DRM
220*4882a593Smuzhiyun	help
221*4882a593Smuzhiyun	  Helpers for VRAM memory management
222*4882a593Smuzhiyun
223*4882a593Smuzhiyunconfig DRM_TTM_HELPER
224*4882a593Smuzhiyun	tristate
225*4882a593Smuzhiyun	depends on DRM
226*4882a593Smuzhiyun	select DRM_TTM
227*4882a593Smuzhiyun	help
228*4882a593Smuzhiyun	  Helpers for ttm-based gem objects
229*4882a593Smuzhiyun
230*4882a593Smuzhiyunconfig DRM_GEM_CMA_HELPER
231*4882a593Smuzhiyun	bool
232*4882a593Smuzhiyun	depends on DRM
233*4882a593Smuzhiyun	help
234*4882a593Smuzhiyun	  Choose this if you need the GEM CMA helper functions
235*4882a593Smuzhiyun
236*4882a593Smuzhiyunconfig DRM_KMS_CMA_HELPER
237*4882a593Smuzhiyun	bool
238*4882a593Smuzhiyun	depends on DRM
239*4882a593Smuzhiyun	select DRM_GEM_CMA_HELPER
240*4882a593Smuzhiyun	help
241*4882a593Smuzhiyun	  Choose this if you need the KMS CMA helper functions
242*4882a593Smuzhiyun
243*4882a593Smuzhiyunconfig DRM_GEM_SHMEM_HELPER
244*4882a593Smuzhiyun	bool
245*4882a593Smuzhiyun	depends on DRM
246*4882a593Smuzhiyun	help
247*4882a593Smuzhiyun	  Choose this if you need the GEM shmem helper functions
248*4882a593Smuzhiyun
249*4882a593Smuzhiyunconfig DRM_VM
250*4882a593Smuzhiyun	bool
251*4882a593Smuzhiyun	depends on DRM && MMU
252*4882a593Smuzhiyun
253*4882a593Smuzhiyunconfig DRM_SCHED
254*4882a593Smuzhiyun	tristate
255*4882a593Smuzhiyun	depends on DRM
256*4882a593Smuzhiyun
257*4882a593Smuzhiyunsource "drivers/gpu/drm/i2c/Kconfig"
258*4882a593Smuzhiyun
259*4882a593Smuzhiyunsource "drivers/gpu/drm/arm/Kconfig"
260*4882a593Smuzhiyun
261*4882a593Smuzhiyunconfig DRM_RADEON
262*4882a593Smuzhiyun	tristate "ATI Radeon"
263*4882a593Smuzhiyun	depends on DRM && PCI && MMU
264*4882a593Smuzhiyun	depends on AGP || !AGP
265*4882a593Smuzhiyun	select FW_LOADER
266*4882a593Smuzhiyun        select DRM_KMS_HELPER
267*4882a593Smuzhiyun        select DRM_TTM
268*4882a593Smuzhiyun	select POWER_SUPPLY
269*4882a593Smuzhiyun	select HWMON
270*4882a593Smuzhiyun	select BACKLIGHT_CLASS_DEVICE
271*4882a593Smuzhiyun	select INTERVAL_TREE
272*4882a593Smuzhiyun	help
273*4882a593Smuzhiyun	  Choose this option if you have an ATI Radeon graphics card.  There
274*4882a593Smuzhiyun	  are both PCI and AGP versions.  You don't need to choose this to
275*4882a593Smuzhiyun	  run the Radeon in plain VGA mode.
276*4882a593Smuzhiyun
277*4882a593Smuzhiyun	  If M is selected, the module will be called radeon.
278*4882a593Smuzhiyun
279*4882a593Smuzhiyunsource "drivers/gpu/drm/radeon/Kconfig"
280*4882a593Smuzhiyun
281*4882a593Smuzhiyunconfig DRM_AMDGPU
282*4882a593Smuzhiyun	tristate "AMD GPU"
283*4882a593Smuzhiyun	depends on DRM && PCI && MMU
284*4882a593Smuzhiyun	select FW_LOADER
285*4882a593Smuzhiyun	select DRM_KMS_HELPER
286*4882a593Smuzhiyun	select DRM_SCHED
287*4882a593Smuzhiyun	select DRM_TTM
288*4882a593Smuzhiyun	select POWER_SUPPLY
289*4882a593Smuzhiyun	select HWMON
290*4882a593Smuzhiyun	select BACKLIGHT_CLASS_DEVICE
291*4882a593Smuzhiyun	select INTERVAL_TREE
292*4882a593Smuzhiyun	select CHASH
293*4882a593Smuzhiyun	help
294*4882a593Smuzhiyun	  Choose this option if you have a recent AMD Radeon graphics card.
295*4882a593Smuzhiyun
296*4882a593Smuzhiyun	  If M is selected, the module will be called amdgpu.
297*4882a593Smuzhiyun
298*4882a593Smuzhiyunsource "drivers/gpu/drm/amd/amdgpu/Kconfig"
299*4882a593Smuzhiyun
300*4882a593Smuzhiyunsource "drivers/gpu/drm/nouveau/Kconfig"
301*4882a593Smuzhiyun
302*4882a593Smuzhiyunsource "drivers/gpu/drm/i915/Kconfig"
303*4882a593Smuzhiyun
304*4882a593Smuzhiyunconfig DRM_VGEM
305*4882a593Smuzhiyun	tristate "Virtual GEM provider"
306*4882a593Smuzhiyun	depends on DRM
307*4882a593Smuzhiyun	help
308*4882a593Smuzhiyun	  Choose this option to get a virtual graphics memory manager,
309*4882a593Smuzhiyun	  as used by Mesa's software renderer for enhanced performance.
310*4882a593Smuzhiyun	  If M is selected the module will be called vgem.
311*4882a593Smuzhiyun
312*4882a593Smuzhiyunconfig DRM_VKMS
313*4882a593Smuzhiyun	tristate "Virtual KMS (EXPERIMENTAL)"
314*4882a593Smuzhiyun	depends on DRM
315*4882a593Smuzhiyun	select DRM_KMS_HELPER
316*4882a593Smuzhiyun	select CRC32
317*4882a593Smuzhiyun	default n
318*4882a593Smuzhiyun	help
319*4882a593Smuzhiyun	  Virtual Kernel Mode-Setting (VKMS) is used for testing or for
320*4882a593Smuzhiyun	  running GPU in a headless machines. Choose this option to get
321*4882a593Smuzhiyun	  a VKMS.
322*4882a593Smuzhiyun
323*4882a593Smuzhiyun	  If M is selected the module will be called vkms.
324*4882a593Smuzhiyun
325*4882a593Smuzhiyunsource "drivers/gpu/drm/exynos/Kconfig"
326*4882a593Smuzhiyun
327*4882a593Smuzhiyunsource "drivers/gpu/drm/rockchip/Kconfig"
328*4882a593Smuzhiyun
329*4882a593Smuzhiyunsource "drivers/gpu/drm/vmwgfx/Kconfig"
330*4882a593Smuzhiyun
331*4882a593Smuzhiyunsource "drivers/gpu/drm/gma500/Kconfig"
332*4882a593Smuzhiyun
333*4882a593Smuzhiyunsource "drivers/gpu/drm/udl/Kconfig"
334*4882a593Smuzhiyun
335*4882a593Smuzhiyunsource "drivers/gpu/drm/ast/Kconfig"
336*4882a593Smuzhiyun
337*4882a593Smuzhiyunsource "drivers/gpu/drm/mgag200/Kconfig"
338*4882a593Smuzhiyun
339*4882a593Smuzhiyunsource "drivers/gpu/drm/armada/Kconfig"
340*4882a593Smuzhiyun
341*4882a593Smuzhiyunsource "drivers/gpu/drm/atmel-hlcdc/Kconfig"
342*4882a593Smuzhiyun
343*4882a593Smuzhiyunsource "drivers/gpu/drm/rcar-du/Kconfig"
344*4882a593Smuzhiyun
345*4882a593Smuzhiyunsource "drivers/gpu/drm/shmobile/Kconfig"
346*4882a593Smuzhiyun
347*4882a593Smuzhiyunsource "drivers/gpu/drm/sun4i/Kconfig"
348*4882a593Smuzhiyun
349*4882a593Smuzhiyunsource "drivers/gpu/drm/omapdrm/Kconfig"
350*4882a593Smuzhiyun
351*4882a593Smuzhiyunsource "drivers/gpu/drm/tilcdc/Kconfig"
352*4882a593Smuzhiyun
353*4882a593Smuzhiyunsource "drivers/gpu/drm/qxl/Kconfig"
354*4882a593Smuzhiyun
355*4882a593Smuzhiyunsource "drivers/gpu/drm/bochs/Kconfig"
356*4882a593Smuzhiyun
357*4882a593Smuzhiyunsource "drivers/gpu/drm/virtio/Kconfig"
358*4882a593Smuzhiyun
359*4882a593Smuzhiyunsource "drivers/gpu/drm/msm/Kconfig"
360*4882a593Smuzhiyun
361*4882a593Smuzhiyunsource "drivers/gpu/drm/fsl-dcu/Kconfig"
362*4882a593Smuzhiyun
363*4882a593Smuzhiyunsource "drivers/gpu/drm/tegra/Kconfig"
364*4882a593Smuzhiyun
365*4882a593Smuzhiyunsource "drivers/gpu/drm/stm/Kconfig"
366*4882a593Smuzhiyun
367*4882a593Smuzhiyunsource "drivers/gpu/drm/panel/Kconfig"
368*4882a593Smuzhiyun
369*4882a593Smuzhiyunsource "drivers/gpu/drm/bridge/Kconfig"
370*4882a593Smuzhiyun
371*4882a593Smuzhiyunsource "drivers/gpu/drm/sti/Kconfig"
372*4882a593Smuzhiyun
373*4882a593Smuzhiyunsource "drivers/gpu/drm/imx/Kconfig"
374*4882a593Smuzhiyun
375*4882a593Smuzhiyunsource "drivers/gpu/drm/ingenic/Kconfig"
376*4882a593Smuzhiyun
377*4882a593Smuzhiyunsource "drivers/gpu/drm/v3d/Kconfig"
378*4882a593Smuzhiyun
379*4882a593Smuzhiyunsource "drivers/gpu/drm/vc4/Kconfig"
380*4882a593Smuzhiyun
381*4882a593Smuzhiyunsource "drivers/gpu/drm/etnaviv/Kconfig"
382*4882a593Smuzhiyun
383*4882a593Smuzhiyunsource "drivers/gpu/drm/arc/Kconfig"
384*4882a593Smuzhiyun
385*4882a593Smuzhiyunsource "drivers/gpu/drm/hisilicon/Kconfig"
386*4882a593Smuzhiyun
387*4882a593Smuzhiyunsource "drivers/gpu/drm/mediatek/Kconfig"
388*4882a593Smuzhiyun
389*4882a593Smuzhiyunsource "drivers/gpu/drm/zte/Kconfig"
390*4882a593Smuzhiyun
391*4882a593Smuzhiyunsource "drivers/gpu/drm/mxsfb/Kconfig"
392*4882a593Smuzhiyun
393*4882a593Smuzhiyunsource "drivers/gpu/drm/meson/Kconfig"
394*4882a593Smuzhiyun
395*4882a593Smuzhiyunsource "drivers/gpu/drm/tiny/Kconfig"
396*4882a593Smuzhiyun
397*4882a593Smuzhiyunsource "drivers/gpu/drm/pl111/Kconfig"
398*4882a593Smuzhiyun
399*4882a593Smuzhiyunsource "drivers/gpu/drm/tve200/Kconfig"
400*4882a593Smuzhiyun
401*4882a593Smuzhiyunsource "drivers/gpu/drm/xen/Kconfig"
402*4882a593Smuzhiyun
403*4882a593Smuzhiyunsource "drivers/gpu/drm/vboxvideo/Kconfig"
404*4882a593Smuzhiyun
405*4882a593Smuzhiyunsource "drivers/gpu/drm/lima/Kconfig"
406*4882a593Smuzhiyun
407*4882a593Smuzhiyunsource "drivers/gpu/drm/panfrost/Kconfig"
408*4882a593Smuzhiyun
409*4882a593Smuzhiyunsource "drivers/gpu/drm/aspeed/Kconfig"
410*4882a593Smuzhiyun
411*4882a593Smuzhiyunsource "drivers/gpu/drm/mcde/Kconfig"
412*4882a593Smuzhiyun
413*4882a593Smuzhiyunsource "drivers/gpu/drm/tidss/Kconfig"
414*4882a593Smuzhiyun
415*4882a593Smuzhiyunsource "drivers/gpu/drm/xlnx/Kconfig"
416*4882a593Smuzhiyun
417*4882a593Smuzhiyun# Keep legacy drivers last
418*4882a593Smuzhiyun
419*4882a593Smuzhiyunmenuconfig DRM_LEGACY
420*4882a593Smuzhiyun	bool "Enable legacy drivers (DANGEROUS)"
421*4882a593Smuzhiyun	depends on DRM && MMU
422*4882a593Smuzhiyun	select DRM_VM
423*4882a593Smuzhiyun	help
424*4882a593Smuzhiyun	  Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
425*4882a593Smuzhiyun	  APIs to user-space, which can be used to circumvent access
426*4882a593Smuzhiyun	  restrictions and other security measures. For backwards compatibility
427*4882a593Smuzhiyun	  those drivers are still available, but their use is highly
428*4882a593Smuzhiyun	  inadvisable and might harm your system.
429*4882a593Smuzhiyun
430*4882a593Smuzhiyun	  You are recommended to use the safe modeset-only drivers instead, and
431*4882a593Smuzhiyun	  perform 3D emulation in user-space.
432*4882a593Smuzhiyun
433*4882a593Smuzhiyun	  Unless you have strong reasons to go rogue, say "N".
434*4882a593Smuzhiyun
435*4882a593Smuzhiyunif DRM_LEGACY
436*4882a593Smuzhiyun
437*4882a593Smuzhiyunconfig DRM_TDFX
438*4882a593Smuzhiyun	tristate "3dfx Banshee/Voodoo3+"
439*4882a593Smuzhiyun	depends on DRM && PCI
440*4882a593Smuzhiyun	help
441*4882a593Smuzhiyun	  Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
442*4882a593Smuzhiyun	  graphics card.  If M is selected, the module will be called tdfx.
443*4882a593Smuzhiyun
444*4882a593Smuzhiyunconfig DRM_R128
445*4882a593Smuzhiyun	tristate "ATI Rage 128"
446*4882a593Smuzhiyun	depends on DRM && PCI
447*4882a593Smuzhiyun	select FW_LOADER
448*4882a593Smuzhiyun	help
449*4882a593Smuzhiyun	  Choose this option if you have an ATI Rage 128 graphics card.  If M
450*4882a593Smuzhiyun	  is selected, the module will be called r128.  AGP support for
451*4882a593Smuzhiyun	  this card is strongly suggested (unless you have a PCI version).
452*4882a593Smuzhiyun
453*4882a593Smuzhiyunconfig DRM_I810
454*4882a593Smuzhiyun	tristate "Intel I810"
455*4882a593Smuzhiyun	# !PREEMPTION because of missing ioctl locking
456*4882a593Smuzhiyun	depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
457*4882a593Smuzhiyun	help
458*4882a593Smuzhiyun	  Choose this option if you have an Intel I810 graphics card.  If M is
459*4882a593Smuzhiyun	  selected, the module will be called i810.  AGP support is required
460*4882a593Smuzhiyun	  for this driver to work.
461*4882a593Smuzhiyun
462*4882a593Smuzhiyunconfig DRM_MGA
463*4882a593Smuzhiyun	tristate "Matrox g200/g400"
464*4882a593Smuzhiyun	depends on DRM && PCI
465*4882a593Smuzhiyun	select FW_LOADER
466*4882a593Smuzhiyun	help
467*4882a593Smuzhiyun	  Choose this option if you have a Matrox G200, G400 or G450 graphics
468*4882a593Smuzhiyun	  card.  If M is selected, the module will be called mga.  AGP
469*4882a593Smuzhiyun	  support is required for this driver to work.
470*4882a593Smuzhiyun
471*4882a593Smuzhiyunconfig DRM_SIS
472*4882a593Smuzhiyun	tristate "SiS video cards"
473*4882a593Smuzhiyun	depends on DRM && AGP
474*4882a593Smuzhiyun	depends on FB_SIS || FB_SIS=n
475*4882a593Smuzhiyun	help
476*4882a593Smuzhiyun	  Choose this option if you have a SiS 630 or compatible video
477*4882a593Smuzhiyun	  chipset. If M is selected the module will be called sis. AGP
478*4882a593Smuzhiyun	  support is required for this driver to work.
479*4882a593Smuzhiyun
480*4882a593Smuzhiyunconfig DRM_VIA
481*4882a593Smuzhiyun	tristate "Via unichrome video cards"
482*4882a593Smuzhiyun	depends on DRM && PCI
483*4882a593Smuzhiyun	help
484*4882a593Smuzhiyun	  Choose this option if you have a Via unichrome or compatible video
485*4882a593Smuzhiyun	  chipset. If M is selected the module will be called via.
486*4882a593Smuzhiyun
487*4882a593Smuzhiyunconfig DRM_SAVAGE
488*4882a593Smuzhiyun	tristate "Savage video cards"
489*4882a593Smuzhiyun	depends on DRM && PCI
490*4882a593Smuzhiyun	help
491*4882a593Smuzhiyun	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
492*4882a593Smuzhiyun	  chipset. If M is selected the module will be called savage.
493*4882a593Smuzhiyun
494*4882a593Smuzhiyunendif # DRM_LEGACY
495*4882a593Smuzhiyun
496*4882a593Smuzhiyunconfig DRM_EXPORT_FOR_TESTS
497*4882a593Smuzhiyun	bool
498*4882a593Smuzhiyun
499*4882a593Smuzhiyun# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
500*4882a593Smuzhiyunconfig DRM_PANEL_ORIENTATION_QUIRKS
501*4882a593Smuzhiyun	tristate
502*4882a593Smuzhiyun
503*4882a593Smuzhiyunconfig DRM_LIB_RANDOM
504*4882a593Smuzhiyun	bool
505*4882a593Smuzhiyun	default n
506