Kconfig 9.7 KB

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