Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 | # | |
179b025f | 7 | menuconfig DRM |
1da177e4 | 8 | tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" |
62a0d98a | 9 | depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA |
8d70f395 | 10 | select DRM_PANEL_ORIENTATION_QUIRKS |
10a85120 | 11 | select HDMI |
eaf99c74 | 12 | select FB_CMDLINE |
57a6297e DA |
13 | select I2C |
14 | select I2C_ALGOBIT | |
3248877e | 15 | select DMA_SHARED_BUFFER |
96260142 | 16 | select SYNC_FILE |
1da177e4 LT |
17 | help |
18 | Kernel-level support for the Direct Rendering Infrastructure (DRI) | |
19 | introduced in XFree86 4.0. If you say Y here, you need to select | |
20 | the module that's right for your graphics card from the list below. | |
21 | These modules provide support for synchronization, security, and | |
22 | DMA transfers. Please see <http://dri.sourceforge.net/> for more | |
23 | details. You should also select and configure AGP | |
dcdb1674 | 24 | (/dev/agpgart) support if it is available for your platform. |
1da177e4 | 25 | |
068a0023 AH |
26 | config DRM_MIPI_DSI |
27 | bool | |
28 | depends on DRM | |
29 | ||
e94cb37b RA |
30 | config DRM_DP_AUX_CHARDEV |
31 | bool "DRM DP AUX Interface" | |
32 | depends on DRM | |
33 | help | |
34 | Choose this option to enable a /dev/drm_dp_auxN node that allows to | |
35 | read and write values to arbitrary DPCD registers on the DP aux | |
36 | channel. | |
37 | ||
5705670d CW |
38 | config DRM_DEBUG_MM |
39 | bool "Insert extra checks and debug info into the DRM range managers" | |
40 | default n | |
cd456f8d | 41 | depends on DRM=y |
4b514e10 | 42 | depends on STACKTRACE_SUPPORT |
5705670d CW |
43 | select STACKDEPOT |
44 | help | |
45 | Enable allocation tracking of memory manager and leak detection on | |
46 | shutdown. | |
47 | ||
48 | Recommended for driver developers only. | |
49 | ||
50 | If in doubt, say "N". | |
51 | ||
50f0033d CW |
52 | config DRM_DEBUG_MM_SELFTEST |
53 | tristate "kselftests for DRM range manager (struct drm_mm)" | |
54 | depends on DRM | |
55 | depends on DEBUG_KERNEL | |
56 | select PRIME_NUMBERS | |
57 | select DRM_LIB_RANDOM | |
58 | default n | |
59 | help | |
60 | This option provides a kernel module that can be used to test | |
61 | the DRM range manager (drm_mm) and its API. This option is not | |
62 | useful for distributions or general kernels, but only for kernel | |
63 | developers working on DRM and associated drivers. | |
64 | ||
65 | If in doubt, say "N". | |
66 | ||
6fcefd56 | 67 | config DRM_KMS_HELPER |
13a8195b DA |
68 | tristate |
69 | depends on DRM | |
92b6f89f DV |
70 | help |
71 | CRTC helpers for KMS drivers. | |
72 | ||
73 | config DRM_KMS_FB_HELPER | |
74 | bool | |
75 | depends on DRM_KMS_HELPER | |
13a8195b | 76 | select FB |
6a108a14 | 77 | select FRAMEBUFFER_CONSOLE if !EXPERT |
bf5192ed | 78 | select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE |
cbb1a82e | 79 | select FB_SYS_FOPS |
742547b7 AT |
80 | select FB_SYS_FILLRECT |
81 | select FB_SYS_COPYAREA | |
82 | select FB_SYS_IMAGEBLIT | |
83 | select FB_CFB_FILLRECT | |
84 | select FB_CFB_COPYAREA | |
85 | select FB_CFB_IMAGEBLIT | |
eaa434de | 86 | select FB_DEFERRED_IO |
13a8195b | 87 | help |
92b6f89f | 88 | FBDEV helpers for KMS drivers. |
13a8195b | 89 | |
a03fdcb1 AT |
90 | config DRM_FBDEV_EMULATION |
91 | bool "Enable legacy fbdev support for your modesetting driver" | |
92 | depends on DRM | |
93 | select DRM_KMS_HELPER | |
94 | select DRM_KMS_FB_HELPER | |
95 | default y | |
96 | help | |
97 | Choose this option if you have a need for the legacy fbdev | |
98 | support. Note that this support also provides the linux console | |
99 | support on top of your modesetting driver. | |
100 | ||
101 | If in doubt, say "Y". | |
102 | ||
5f152576 XL |
103 | config DRM_FBDEV_OVERALLOC |
104 | int "Overallocation of the fbdev buffer" | |
105 | depends on DRM_FBDEV_EMULATION | |
106 | default 100 | |
107 | help | |
108 | Defines the fbdev buffer overallocation in percent. Default | |
109 | is 100. Typical values for double buffering will be 200, | |
110 | triple buffering 300. | |
111 | ||
da0df92b CE |
112 | config DRM_LOAD_EDID_FIRMWARE |
113 | bool "Allow to specify an EDID data set instead of probing for it" | |
53fd40a9 | 114 | depends on DRM |
da0df92b CE |
115 | help |
116 | Say Y here, if you want to use EDID data to be loaded from the | |
117 | /lib/firmware directory or one of the provided built-in | |
118 | data sets. This may be necessary, if the graphics adapter or | |
119 | monitor are unable to provide appropriate EDID data. Since this | |
120 | feature is provided as a workaround for broken hardware, the | |
121 | default case is N. Details and instructions how to build your own | |
122 | EDID data are given in Documentation/EDID/HOWTO.txt. | |
123 | ||
ba4e7d97 | 124 | config DRM_TTM |
771fe6b9 | 125 | tristate |
62a0d98a | 126 | depends on DRM && MMU |
ba4e7d97 TH |
127 | help |
128 | GPU memory management subsystem for devices with multiple | |
129 | GPU memory types. Will be enabled automatically if a device driver | |
130 | uses it. | |
131 | ||
b9d47450 SH |
132 | config DRM_GEM_CMA_HELPER |
133 | bool | |
e1c7e324 | 134 | depends on DRM |
b9d47450 SH |
135 | help |
136 | Choose this if you need the GEM CMA helper functions | |
137 | ||
2e3b3c42 LPC |
138 | config DRM_KMS_CMA_HELPER |
139 | bool | |
e1c7e324 | 140 | depends on DRM |
2e3b3c42 | 141 | select DRM_GEM_CMA_HELPER |
92b6f89f | 142 | select DRM_KMS_FB_HELPER |
2e3b3c42 LPC |
143 | select FB_SYS_FILLRECT |
144 | select FB_SYS_COPYAREA | |
145 | select FB_SYS_IMAGEBLIT | |
146 | help | |
147 | Choose this if you need the KMS CMA helper functions | |
148 | ||
99c48e1e BG |
149 | config DRM_VM |
150 | bool | |
7e53c284 | 151 | depends on DRM && MMU |
99c48e1e | 152 | |
1b1f42d8 LS |
153 | config DRM_SCHED |
154 | tristate | |
155 | depends on DRM | |
156 | ||
6504d0d9 RC |
157 | source "drivers/gpu/drm/i2c/Kconfig" |
158 | ||
8e22d792 LD |
159 | source "drivers/gpu/drm/arm/Kconfig" |
160 | ||
1da177e4 LT |
161 | config DRM_RADEON |
162 | tristate "ATI Radeon" | |
011cda58 | 163 | depends on DRM && PCI && MMU |
70967ab9 | 164 | select FW_LOADER |
a0cdc649 DA |
165 | select DRM_KMS_HELPER |
166 | select DRM_TTM | |
5d9b7e2d | 167 | select POWER_SUPPLY |
21a8122a | 168 | select HWMON |
14adc892 | 169 | select BACKLIGHT_CLASS_DEVICE |
33610527 | 170 | select BACKLIGHT_LCD_SUPPORT |
0aea5e4a | 171 | select INTERVAL_TREE |
1da177e4 LT |
172 | help |
173 | Choose this option if you have an ATI Radeon graphics card. There | |
174 | are both PCI and AGP versions. You don't need to choose this to | |
7b9af345 | 175 | run the Radeon in plain VGA mode. |
bc5f4523 | 176 | |
1da177e4 LT |
177 | If M is selected, the module will be called radeon. |
178 | ||
f71d0187 DA |
179 | source "drivers/gpu/drm/radeon/Kconfig" |
180 | ||
d38ceaf9 AD |
181 | config DRM_AMDGPU |
182 | tristate "AMD GPU" | |
011cda58 | 183 | depends on DRM && PCI && MMU |
d38ceaf9 AD |
184 | select FW_LOADER |
185 | select DRM_KMS_HELPER | |
1b1f42d8 | 186 | select DRM_SCHED |
d38ceaf9 AD |
187 | select DRM_TTM |
188 | select POWER_SUPPLY | |
189 | select HWMON | |
190 | select BACKLIGHT_CLASS_DEVICE | |
b325a789 | 191 | select BACKLIGHT_LCD_SUPPORT |
d38ceaf9 | 192 | select INTERVAL_TREE |
a2f14820 | 193 | select CHASH |
d38ceaf9 AD |
194 | help |
195 | Choose this option if you have a recent AMD Radeon graphics card. | |
196 | ||
197 | If M is selected, the module will be called amdgpu. | |
198 | ||
199 | source "drivers/gpu/drm/amd/amdgpu/Kconfig" | |
a8fe58ce | 200 | |
5d86b2c3 FK |
201 | source "drivers/gpu/drm/amd/lib/Kconfig" |
202 | ||
f3c93cbd BS |
203 | source "drivers/gpu/drm/nouveau/Kconfig" |
204 | ||
4520f53a | 205 | source "drivers/gpu/drm/i915/Kconfig" |
99486b8e | 206 | |
502e95c6 ZR |
207 | config DRM_VGEM |
208 | tristate "Virtual GEM provider" | |
209 | depends on DRM | |
210 | help | |
211 | Choose this option to get a virtual graphics memory manager, | |
212 | as used by Mesa's software renderer for enhanced performance. | |
213 | If M is selected the module will be called vgem. | |
214 | ||
215 | ||
5a7b74be TH |
216 | source "drivers/gpu/drm/exynos/Kconfig" |
217 | ||
2048e328 MY |
218 | source "drivers/gpu/drm/rockchip/Kconfig" |
219 | ||
5a7b74be | 220 | source "drivers/gpu/drm/vmwgfx/Kconfig" |
91c75492 AC |
221 | |
222 | source "drivers/gpu/drm/gma500/Kconfig" | |
223 | ||
5320918b | 224 | source "drivers/gpu/drm/udl/Kconfig" |
312fec14 DA |
225 | |
226 | source "drivers/gpu/drm/ast/Kconfig" | |
227 | ||
414c4531 | 228 | source "drivers/gpu/drm/mgag200/Kconfig" |
f9aa76a8 DA |
229 | |
230 | source "drivers/gpu/drm/cirrus/Kconfig" | |
51c13278 | 231 | |
96f60e37 RK |
232 | source "drivers/gpu/drm/armada/Kconfig" |
233 | ||
1a396789 BB |
234 | source "drivers/gpu/drm/atmel-hlcdc/Kconfig" |
235 | ||
4bf8e196 LP |
236 | source "drivers/gpu/drm/rcar-du/Kconfig" |
237 | ||
51c13278 | 238 | source "drivers/gpu/drm/shmobile/Kconfig" |
d8f4a9ed | 239 | |
9026e0d1 MR |
240 | source "drivers/gpu/drm/sun4i/Kconfig" |
241 | ||
8bb0daff | 242 | source "drivers/gpu/drm/omapdrm/Kconfig" |
ca18e142 | 243 | |
16ea975e | 244 | source "drivers/gpu/drm/tilcdc/Kconfig" |
f64122c1 DA |
245 | |
246 | source "drivers/gpu/drm/qxl/Kconfig" | |
c8afe684 | 247 | |
0a6659bd GH |
248 | source "drivers/gpu/drm/bochs/Kconfig" |
249 | ||
dc5698e8 DA |
250 | source "drivers/gpu/drm/virtio/Kconfig" |
251 | ||
c8afe684 | 252 | source "drivers/gpu/drm/msm/Kconfig" |
dee8268f | 253 | |
109eee2f JW |
254 | source "drivers/gpu/drm/fsl-dcu/Kconfig" |
255 | ||
dee8268f | 256 | source "drivers/gpu/drm/tegra/Kconfig" |
aead40ea | 257 | |
b759012c YF |
258 | source "drivers/gpu/drm/stm/Kconfig" |
259 | ||
aead40ea | 260 | source "drivers/gpu/drm/panel/Kconfig" |
f2cb3148 | 261 | |
a33ee95f TR |
262 | source "drivers/gpu/drm/bridge/Kconfig" |
263 | ||
f2cb3148 | 264 | source "drivers/gpu/drm/sti/Kconfig" |
4a488a7a OG |
265 | |
266 | source "drivers/gpu/drm/amd/amdkfd/Kconfig" | |
6556f7f8 PZ |
267 | |
268 | source "drivers/gpu/drm/imx/Kconfig" | |
c8b75bca EA |
269 | |
270 | source "drivers/gpu/drm/vc4/Kconfig" | |
a8c21a54 T |
271 | |
272 | source "drivers/gpu/drm/etnaviv/Kconfig" | |
51dacf20 CP |
273 | |
274 | source "drivers/gpu/drm/arc/Kconfig" | |
23e7b2ab XL |
275 | |
276 | source "drivers/gpu/drm/hisilicon/Kconfig" | |
119f5173 CH |
277 | |
278 | source "drivers/gpu/drm/mediatek/Kconfig" | |
d92d9c3a | 279 | |
0a886f59 SG |
280 | source "drivers/gpu/drm/zte/Kconfig" |
281 | ||
45d59d70 MV |
282 | source "drivers/gpu/drm/mxsfb/Kconfig" |
283 | ||
bbbe775e NA |
284 | source "drivers/gpu/drm/meson/Kconfig" |
285 | ||
fa201ac2 NT |
286 | source "drivers/gpu/drm/tinydrm/Kconfig" |
287 | ||
bed41005 TC |
288 | source "drivers/gpu/drm/pl111/Kconfig" |
289 | ||
179c02fe LW |
290 | source "drivers/gpu/drm/tve200/Kconfig" |
291 | ||
d92d9c3a DH |
292 | # Keep legacy drivers last |
293 | ||
294 | menuconfig DRM_LEGACY | |
295 | bool "Enable legacy drivers (DANGEROUS)" | |
7e53c284 | 296 | depends on DRM && MMU |
99c48e1e | 297 | select DRM_VM |
d92d9c3a DH |
298 | help |
299 | Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous | |
300 | APIs to user-space, which can be used to circumvent access | |
301 | restrictions and other security measures. For backwards compatibility | |
302 | those drivers are still available, but their use is highly | |
303 | inadvisable and might harm your system. | |
304 | ||
305 | You are recommended to use the safe modeset-only drivers instead, and | |
306 | perform 3D emulation in user-space. | |
307 | ||
308 | Unless you have strong reasons to go rogue, say "N". | |
309 | ||
310 | if DRM_LEGACY | |
311 | ||
312 | config DRM_TDFX | |
313 | tristate "3dfx Banshee/Voodoo3+" | |
314 | depends on DRM && PCI | |
315 | help | |
316 | Choose this option if you have a 3dfx Banshee or Voodoo3 (or later), | |
317 | graphics card. If M is selected, the module will be called tdfx. | |
318 | ||
319 | config DRM_R128 | |
320 | tristate "ATI Rage 128" | |
321 | depends on DRM && PCI | |
322 | select FW_LOADER | |
323 | help | |
324 | Choose this option if you have an ATI Rage 128 graphics card. If M | |
325 | is selected, the module will be called r128. AGP support for | |
326 | this card is strongly suggested (unless you have a PCI version). | |
327 | ||
328 | config DRM_I810 | |
329 | tristate "Intel I810" | |
330 | # !PREEMPT because of missing ioctl locking | |
331 | depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN) | |
332 | help | |
333 | Choose this option if you have an Intel I810 graphics card. If M is | |
334 | selected, the module will be called i810. AGP support is required | |
335 | for this driver to work. | |
336 | ||
337 | config DRM_MGA | |
338 | tristate "Matrox g200/g400" | |
339 | depends on DRM && PCI | |
340 | select FW_LOADER | |
341 | help | |
342 | Choose this option if you have a Matrox G200, G400 or G450 graphics | |
343 | card. If M is selected, the module will be called mga. AGP | |
344 | support is required for this driver to work. | |
345 | ||
346 | config DRM_SIS | |
347 | tristate "SiS video cards" | |
348 | depends on DRM && AGP | |
349 | depends on FB_SIS || FB_SIS=n | |
350 | help | |
351 | Choose this option if you have a SiS 630 or compatible video | |
352 | chipset. If M is selected the module will be called sis. AGP | |
353 | support is required for this driver to work. | |
354 | ||
355 | config DRM_VIA | |
356 | tristate "Via unichrome video cards" | |
357 | depends on DRM && PCI | |
358 | help | |
359 | Choose this option if you have a Via unichrome or compatible video | |
360 | chipset. If M is selected the module will be called via. | |
361 | ||
362 | config DRM_SAVAGE | |
363 | tristate "Savage video cards" | |
364 | depends on DRM && PCI | |
365 | help | |
366 | Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister | |
367 | chipset. If M is selected the module will be called savage. | |
368 | ||
369 | endif # DRM_LEGACY | |
a33d42dd | 370 | |
341a0ffc HG |
371 | # Separate option because drm_panel_orientation_quirks.c is shared with fbdev |
372 | config DRM_PANEL_ORIENTATION_QUIRKS | |
373 | tristate | |
374 | ||
a33d42dd CW |
375 | config DRM_LIB_RANDOM |
376 | bool | |
377 | default n |