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