Kconfig 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424
  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. #
  7. menuconfig DRM
  8. tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
  9. depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
  10. select DRM_PANEL_ORIENTATION_QUIRKS
  11. select HDMI
  12. select FB_CMDLINE
  13. select I2C
  14. select I2C_ALGOBIT
  15. select DMA_SHARED_BUFFER
  16. select SYNC_FILE
  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
  24. (/dev/agpgart) support if it is available for your platform.
  25. config DRM_MIPI_DSI
  26. bool
  27. depends on DRM
  28. config 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. config DRM_DEBUG_MM
  36. bool "Insert extra checks and debug info into the DRM range managers"
  37. default n
  38. depends on DRM=y
  39. depends on STACKTRACE_SUPPORT
  40. select STACKDEPOT
  41. help
  42. Enable allocation tracking of memory manager and leak detection on
  43. shutdown.
  44. Recommended for driver developers only.
  45. If in doubt, say "N".
  46. config DRM_DEBUG_SELFTEST
  47. tristate "kselftests for DRM"
  48. depends on DRM
  49. depends on DEBUG_KERNEL
  50. select PRIME_NUMBERS
  51. select DRM_LIB_RANDOM
  52. select DRM_KMS_HELPER
  53. default n
  54. help
  55. This option provides kernel modules that can be used to run
  56. various selftests on parts of the DRM api. This option is not
  57. useful for distributions or general kernels, but only for kernel
  58. developers working on DRM and associated drivers.
  59. If in doubt, say "N".
  60. config DRM_KMS_HELPER
  61. tristate
  62. depends on DRM
  63. help
  64. CRTC helpers for KMS drivers.
  65. config DRM_KMS_FB_HELPER
  66. bool
  67. depends on DRM_KMS_HELPER
  68. select FB
  69. select FRAMEBUFFER_CONSOLE if !EXPERT
  70. select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
  71. select FB_SYS_FOPS
  72. select FB_SYS_FILLRECT
  73. select FB_SYS_COPYAREA
  74. select FB_SYS_IMAGEBLIT
  75. select FB_CFB_FILLRECT
  76. select FB_CFB_COPYAREA
  77. select FB_CFB_IMAGEBLIT
  78. select FB_DEFERRED_IO
  79. help
  80. FBDEV helpers for KMS drivers.
  81. config DRM_FBDEV_EMULATION
  82. bool "Enable legacy fbdev support for your modesetting driver"
  83. depends on DRM
  84. select DRM_KMS_HELPER
  85. select DRM_KMS_FB_HELPER
  86. default y
  87. help
  88. Choose this option if you have a need for the legacy fbdev
  89. support. Note that this support also provides the linux console
  90. support on top of your modesetting driver.
  91. If in doubt, say "Y".
  92. config DRM_FBDEV_OVERALLOC
  93. int "Overallocation of the fbdev buffer"
  94. depends on DRM_FBDEV_EMULATION
  95. default 100
  96. help
  97. Defines the fbdev buffer overallocation in percent. Default
  98. is 100. Typical values for double buffering will be 200,
  99. triple buffering 300.
  100. config DRM_FBDEV_LEAK_PHYS_SMEM
  101. bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)"
  102. depends on DRM_FBDEV_EMULATION && EXPERT
  103. default n
  104. help
  105. In order to keep user-space compatibility, we want in certain
  106. use-cases to keep leaking the fbdev physical address to the
  107. user-space program handling the fbdev buffer.
  108. This affects, not only, Amlogic, Allwinner or Rockchip devices
  109. with ARM Mali GPUs using an userspace Blob.
  110. This option is not supported by upstream developers and should be
  111. removed as soon as possible and be considered as a broken and
  112. legacy behaviour from a modern fbdev device driver.
  113. Please send any bug reports when using this to your proprietary
  114. software vendor that requires this.
  115. If in doubt, say "N" or spread the word to your closed source
  116. library vendor.
  117. config DRM_LOAD_EDID_FIRMWARE
  118. bool "Allow to specify an EDID data set instead of probing for it"
  119. depends on DRM
  120. help
  121. Say Y here, if you want to use EDID data to be loaded from the
  122. /lib/firmware directory or one of the provided built-in
  123. data sets. This may be necessary, if the graphics adapter or
  124. monitor are unable to provide appropriate EDID data. Since this
  125. feature is provided as a workaround for broken hardware, the
  126. default case is N. Details and instructions how to build your own
  127. EDID data are given in Documentation/EDID/HOWTO.txt.
  128. config DRM_DP_CEC
  129. bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support"
  130. select CEC_CORE
  131. help
  132. Choose this option if you want to enable HDMI CEC support for
  133. DisplayPort/USB-C to HDMI adapters.
  134. Note: not all adapters support this feature, and even for those
  135. that do support this they often do not hook up the CEC pin.
  136. config DRM_TTM
  137. tristate
  138. depends on DRM && MMU
  139. help
  140. GPU memory management subsystem for devices with multiple
  141. GPU memory types. Will be enabled automatically if a device driver
  142. uses it.
  143. config DRM_GEM_CMA_HELPER
  144. bool
  145. depends on DRM
  146. help
  147. Choose this if you need the GEM CMA helper functions
  148. config DRM_KMS_CMA_HELPER
  149. bool
  150. depends on DRM
  151. select DRM_GEM_CMA_HELPER
  152. select DRM_KMS_FB_HELPER
  153. select FB_SYS_FILLRECT
  154. select FB_SYS_COPYAREA
  155. select FB_SYS_IMAGEBLIT
  156. help
  157. Choose this if you need the KMS CMA helper functions
  158. config DRM_VM
  159. bool
  160. depends on DRM && MMU
  161. config DRM_SCHED
  162. tristate
  163. depends on DRM
  164. source "drivers/gpu/drm/i2c/Kconfig"
  165. source "drivers/gpu/drm/arm/Kconfig"
  166. config DRM_RADEON
  167. tristate "ATI Radeon"
  168. depends on DRM && PCI && MMU
  169. select FW_LOADER
  170. select DRM_KMS_HELPER
  171. select DRM_TTM
  172. select POWER_SUPPLY
  173. select HWMON
  174. select BACKLIGHT_CLASS_DEVICE
  175. select BACKLIGHT_LCD_SUPPORT
  176. select INTERVAL_TREE
  177. help
  178. Choose this option if you have an ATI Radeon graphics card. There
  179. are both PCI and AGP versions. You don't need to choose this to
  180. run the Radeon in plain VGA mode.
  181. If M is selected, the module will be called radeon.
  182. source "drivers/gpu/drm/radeon/Kconfig"
  183. config DRM_AMDGPU
  184. tristate "AMD GPU"
  185. depends on DRM && PCI && MMU
  186. select FW_LOADER
  187. select DRM_KMS_HELPER
  188. select DRM_SCHED
  189. select DRM_TTM
  190. select POWER_SUPPLY
  191. select HWMON
  192. select BACKLIGHT_CLASS_DEVICE
  193. select BACKLIGHT_LCD_SUPPORT
  194. select INTERVAL_TREE
  195. select CHASH
  196. help
  197. Choose this option if you have a recent AMD Radeon graphics card.
  198. If M is selected, the module will be called amdgpu.
  199. source "drivers/gpu/drm/amd/amdgpu/Kconfig"
  200. source "drivers/gpu/drm/amd/lib/Kconfig"
  201. source "drivers/gpu/drm/nouveau/Kconfig"
  202. source "drivers/gpu/drm/i915/Kconfig"
  203. config DRM_VGEM
  204. tristate "Virtual GEM provider"
  205. depends on DRM
  206. help
  207. Choose this option to get a virtual graphics memory manager,
  208. as used by Mesa's software renderer for enhanced performance.
  209. If M is selected the module will be called vgem.
  210. config DRM_VKMS
  211. tristate "Virtual KMS (EXPERIMENTAL)"
  212. depends on DRM
  213. select DRM_KMS_HELPER
  214. default n
  215. help
  216. Virtual Kernel Mode-Setting (VKMS) is used for testing or for
  217. running GPU in a headless machines. Choose this option to get
  218. a VKMS.
  219. If M is selected the module will be called vkms.
  220. source "drivers/gpu/drm/exynos/Kconfig"
  221. source "drivers/gpu/drm/rockchip/Kconfig"
  222. source "drivers/gpu/drm/vmwgfx/Kconfig"
  223. source "drivers/gpu/drm/gma500/Kconfig"
  224. source "drivers/gpu/drm/udl/Kconfig"
  225. source "drivers/gpu/drm/ast/Kconfig"
  226. source "drivers/gpu/drm/mgag200/Kconfig"
  227. source "drivers/gpu/drm/cirrus/Kconfig"
  228. source "drivers/gpu/drm/armada/Kconfig"
  229. source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
  230. source "drivers/gpu/drm/rcar-du/Kconfig"
  231. source "drivers/gpu/drm/shmobile/Kconfig"
  232. source "drivers/gpu/drm/sun4i/Kconfig"
  233. source "drivers/gpu/drm/omapdrm/Kconfig"
  234. source "drivers/gpu/drm/tilcdc/Kconfig"
  235. source "drivers/gpu/drm/qxl/Kconfig"
  236. source "drivers/gpu/drm/bochs/Kconfig"
  237. source "drivers/gpu/drm/virtio/Kconfig"
  238. source "drivers/gpu/drm/msm/Kconfig"
  239. source "drivers/gpu/drm/fsl-dcu/Kconfig"
  240. source "drivers/gpu/drm/tegra/Kconfig"
  241. source "drivers/gpu/drm/stm/Kconfig"
  242. source "drivers/gpu/drm/panel/Kconfig"
  243. source "drivers/gpu/drm/bridge/Kconfig"
  244. source "drivers/gpu/drm/sti/Kconfig"
  245. source "drivers/gpu/drm/amd/amdkfd/Kconfig"
  246. source "drivers/gpu/drm/imx/Kconfig"
  247. source "drivers/gpu/drm/v3d/Kconfig"
  248. source "drivers/gpu/drm/vc4/Kconfig"
  249. source "drivers/gpu/drm/etnaviv/Kconfig"
  250. source "drivers/gpu/drm/arc/Kconfig"
  251. source "drivers/gpu/drm/hisilicon/Kconfig"
  252. source "drivers/gpu/drm/mediatek/Kconfig"
  253. source "drivers/gpu/drm/zte/Kconfig"
  254. source "drivers/gpu/drm/mxsfb/Kconfig"
  255. source "drivers/gpu/drm/meson/Kconfig"
  256. source "drivers/gpu/drm/tinydrm/Kconfig"
  257. source "drivers/gpu/drm/pl111/Kconfig"
  258. source "drivers/gpu/drm/tve200/Kconfig"
  259. source "drivers/gpu/drm/xen/Kconfig"
  260. # Keep legacy drivers last
  261. menuconfig DRM_LEGACY
  262. bool "Enable legacy drivers (DANGEROUS)"
  263. depends on DRM && MMU
  264. select DRM_VM
  265. help
  266. Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
  267. APIs to user-space, which can be used to circumvent access
  268. restrictions and other security measures. For backwards compatibility
  269. those drivers are still available, but their use is highly
  270. inadvisable and might harm your system.
  271. You are recommended to use the safe modeset-only drivers instead, and
  272. perform 3D emulation in user-space.
  273. Unless you have strong reasons to go rogue, say "N".
  274. if DRM_LEGACY
  275. config DRM_TDFX
  276. tristate "3dfx Banshee/Voodoo3+"
  277. depends on DRM && PCI
  278. help
  279. Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
  280. graphics card. If M is selected, the module will be called tdfx.
  281. config DRM_R128
  282. tristate "ATI Rage 128"
  283. depends on DRM && PCI
  284. select FW_LOADER
  285. help
  286. Choose this option if you have an ATI Rage 128 graphics card. If M
  287. is selected, the module will be called r128. AGP support for
  288. this card is strongly suggested (unless you have a PCI version).
  289. config DRM_I810
  290. tristate "Intel I810"
  291. # !PREEMPT because of missing ioctl locking
  292. depends on DRM && AGP && AGP_INTEL && (!PREEMPT || BROKEN)
  293. help
  294. Choose this option if you have an Intel I810 graphics card. If M is
  295. selected, the module will be called i810. AGP support is required
  296. for this driver to work.
  297. config DRM_MGA
  298. tristate "Matrox g200/g400"
  299. depends on DRM && PCI
  300. select FW_LOADER
  301. help
  302. Choose this option if you have a Matrox G200, G400 or G450 graphics
  303. card. If M is selected, the module will be called mga. AGP
  304. support is required for this driver to work.
  305. config DRM_SIS
  306. tristate "SiS video cards"
  307. depends on DRM && AGP
  308. depends on FB_SIS || FB_SIS=n
  309. help
  310. Choose this option if you have a SiS 630 or compatible video
  311. chipset. If M is selected the module will be called sis. AGP
  312. support is required for this driver to work.
  313. config DRM_VIA
  314. tristate "Via unichrome video cards"
  315. depends on DRM && PCI
  316. help
  317. Choose this option if you have a Via unichrome or compatible video
  318. chipset. If M is selected the module will be called via.
  319. config DRM_SAVAGE
  320. tristate "Savage video cards"
  321. depends on DRM && PCI
  322. help
  323. Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
  324. chipset. If M is selected the module will be called savage.
  325. endif # DRM_LEGACY
  326. # Separate option because drm_panel_orientation_quirks.c is shared with fbdev
  327. config DRM_PANEL_ORIENTATION_QUIRKS
  328. tristate
  329. config DRM_LIB_RANDOM
  330. bool
  331. default n