Kconfig.debug 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. config DRM_I915_WERROR
  3. bool "Force GCC to throw an error instead of a warning when compiling"
  4. # As this may inadvertently break the build, only allow the user
  5. # to shoot oneself in the foot iff they aim really hard
  6. depends on EXPERT
  7. # We use the dependency on !COMPILE_TEST to not be enabled in
  8. # allmodconfig or allyesconfig configurations
  9. depends on !COMPILE_TEST
  10. default n
  11. help
  12. Add -Werror to the build flags for (and only for) i915.ko.
  13. Do not enable this unless you are writing code for the i915.ko module.
  14. Recommended for driver developers only.
  15. If in doubt, say "N".
  16. config DRM_I915_DEBUG
  17. bool "Enable additional driver debugging"
  18. depends on DRM_I915
  19. depends on EXPERT # only for developers
  20. depends on !COMPILE_TEST # never built by robots
  21. select DEBUG_FS
  22. select PREEMPT_COUNT
  23. select I2C_CHARDEV
  24. select STACKDEPOT
  25. select DRM_DP_AUX_CHARDEV
  26. select X86_MSR # used by igt/pm_rpm
  27. select DRM_VGEM # used by igt/prime_vgem (dmabuf interop checks)
  28. select DRM_DEBUG_MM if DRM=y
  29. select DRM_EXPORT_FOR_TESTS if m
  30. select DRM_DEBUG_SELFTEST
  31. select DMABUF_SELFTESTS
  32. select SW_SYNC # signaling validation framework (igt/syncobj*)
  33. select DRM_I915_WERROR
  34. select DRM_I915_DEBUG_GEM
  35. select DRM_I915_DEBUG_GEM_ONCE
  36. select DRM_I915_DEBUG_MMIO
  37. select DRM_I915_DEBUG_RUNTIME_PM
  38. select DRM_I915_SW_FENCE_DEBUG_OBJECTS
  39. select DRM_I915_SELFTEST
  40. default n
  41. help
  42. Choose this option to turn on extra driver debugging that may affect
  43. performance but will catch some internal issues.
  44. Recommended for driver developers only.
  45. If in doubt, say "N".
  46. config DRM_I915_DEBUG_MMIO
  47. bool "Always insert extra checks around mmio access by default"
  48. default n
  49. help
  50. By default, always enables the extra sanity checks (extra register
  51. reads) around every mmio (register) access that will slow the system
  52. down. This sets the default value of i915.mmio_debug to -1 and can
  53. be overridden at module load.
  54. Recommended for driver developers only.
  55. If in doubt, say "N".
  56. config DRM_I915_DEBUG_GEM
  57. bool "Insert extra checks into the GEM internals"
  58. default n
  59. depends on DRM_I915_WERROR
  60. help
  61. Enable extra sanity checks (including BUGs) along the GEM driver
  62. paths that may slow the system down and if hit hang the machine.
  63. Recommended for driver developers only.
  64. If in doubt, say "N".
  65. config DRM_I915_DEBUG_GEM_ONCE
  66. bool "Make a GEM debug failure fatal"
  67. default n
  68. depends on DRM_I915_DEBUG_GEM
  69. help
  70. During development, we often only want the very first failure
  71. as that would otherwise be lost in the deluge of subsequent
  72. failures. However, more casual testers may not want to trigger
  73. a hard BUG_ON and hope that the system remains sufficiently usable
  74. to capture a bug report in situ.
  75. Recommended for driver developers only.
  76. If in doubt, say "N".
  77. config DRM_I915_ERRLOG_GEM
  78. bool "Insert extra logging (very verbose) for common GEM errors"
  79. default n
  80. depends on DRM_I915_DEBUG_GEM
  81. help
  82. Enable additional logging that may help track down the cause of
  83. principally userspace errors.
  84. Recommended for driver developers only.
  85. If in doubt, say "N".
  86. config DRM_I915_TRACE_GEM
  87. bool "Insert extra ftrace output from the GEM internals"
  88. depends on DRM_I915_DEBUG_GEM
  89. select TRACING
  90. default n
  91. help
  92. Enable additional and verbose debugging output that will spam
  93. ordinary tests, but may be vital for post-mortem debugging when
  94. used with /proc/sys/kernel/ftrace_dump_on_oops
  95. Recommended for driver developers only.
  96. If in doubt, say "N".
  97. config DRM_I915_TRACE_GTT
  98. bool "Insert extra ftrace output from the GTT internals"
  99. depends on DRM_I915_DEBUG_GEM
  100. select TRACING
  101. default n
  102. help
  103. Enable additional and verbose debugging output that will spam
  104. ordinary tests, but may be vital for post-mortem debugging when
  105. used with /proc/sys/kernel/ftrace_dump_on_oops
  106. Recommended for driver developers only.
  107. If in doubt, say "N".
  108. config DRM_I915_SW_FENCE_DEBUG_OBJECTS
  109. bool "Enable additional driver debugging for fence objects"
  110. depends on DRM_I915
  111. select DEBUG_OBJECTS
  112. default n
  113. help
  114. Choose this option to turn on extra driver debugging that may affect
  115. performance but will catch some internal issues.
  116. Recommended for driver developers only.
  117. If in doubt, say "N".
  118. config DRM_I915_SW_FENCE_CHECK_DAG
  119. bool "Enable additional driver debugging for detecting dependency cycles"
  120. depends on DRM_I915
  121. default n
  122. help
  123. Choose this option to turn on extra driver debugging that may affect
  124. performance but will catch some internal issues.
  125. Recommended for driver developers only.
  126. If in doubt, say "N".
  127. config DRM_I915_DEBUG_GUC
  128. bool "Enable additional driver debugging for GuC"
  129. depends on DRM_I915
  130. default n
  131. help
  132. Choose this option to turn on extra driver debugging that may affect
  133. performance but will help resolve GuC related issues.
  134. Recommended for driver developers only.
  135. If in doubt, say "N".
  136. config DRM_I915_SELFTEST
  137. bool "Enable selftests upon driver load"
  138. depends on DRM_I915
  139. default n
  140. select DRM_EXPORT_FOR_TESTS if m
  141. select FAULT_INJECTION
  142. select PRIME_NUMBERS
  143. select CRC32
  144. help
  145. Choose this option to allow the driver to perform selftests upon
  146. loading; also requires the i915.selftest=1 module parameter. To
  147. exit the module after running the selftests (i.e. to prevent normal
  148. module initialisation afterwards) use i915.selftest=-1.
  149. Recommended for driver developers only.
  150. If in doubt, say "N".
  151. config DRM_I915_SELFTEST_BROKEN
  152. bool "Enable broken and dangerous selftests"
  153. depends on DRM_I915_SELFTEST
  154. depends on BROKEN
  155. default n
  156. help
  157. This option enables the execution of selftests that are "dangerous"
  158. and may trigger unintended HW side-effects as they break strict
  159. rules given in the HW specification. For science.
  160. Recommended for masochistic driver developers only.
  161. If in doubt, say "N".
  162. config DRM_I915_LOW_LEVEL_TRACEPOINTS
  163. bool "Enable low level request tracing events"
  164. depends on DRM_I915
  165. default n
  166. help
  167. Choose this option to turn on low level request tracing events.
  168. This provides the ability to precisely monitor engine utilisation
  169. and also analyze the request dependency resolving timeline.
  170. Recommended for driver developers only.
  171. If in doubt, say "N".
  172. config DRM_I915_DEBUG_VBLANK_EVADE
  173. bool "Enable extra debug warnings for vblank evasion"
  174. depends on DRM_I915
  175. default n
  176. help
  177. Choose this option to turn on extra debug warnings for the
  178. vblank evade mechanism. This gives a warning every time the
  179. the deadline allotted for the vblank evade critical section
  180. is exceeded, even if there isn't an actual risk of missing
  181. the vblank.
  182. Recommended for driver developers only.
  183. If in doubt, say "N".
  184. config DRM_I915_DEBUG_RUNTIME_PM
  185. bool "Enable extra state checking for runtime PM"
  186. depends on DRM_I915
  187. default n
  188. select STACKDEPOT
  189. help
  190. Choose this option to turn on extra state checking for the
  191. runtime PM functionality. This may introduce overhead during
  192. driver loading, suspend and resume operations.
  193. Recommended for driver developers only.
  194. If in doubt, say "N"