1# SPDX-License-Identifier: GPL-2.0-only 2config 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 15 Recommended for driver developers only. 16 17 If in doubt, say "N". 18 19config DRM_I915_DEBUG 20 bool "Enable additional driver debugging" 21 depends on DRM_I915 22 depends on EXPERT # only for developers 23 depends on !COMPILE_TEST # never built by robots 24 select DEBUG_FS 25 select PREEMPT_COUNT 26 select I2C_CHARDEV 27 select REF_TRACKER 28 select STACKDEPOT 29 select STACKTRACE 30 select DRM_DP_AUX_CHARDEV 31 select X86_MSR # used by igt/pm_rpm 32 select DRM_VGEM # used by igt/prime_vgem (dmabuf interop checks) 33 select DRM_DEBUG_MM if DRM=y 34 select DRM_EXPORT_FOR_TESTS if m 35 select DRM_DEBUG_SELFTEST 36 select DMABUF_SELFTESTS 37 select SW_SYNC # signaling validation framework (igt/syncobj*) 38 select DRM_I915_WERROR 39 select DRM_I915_DEBUG_GEM 40 select DRM_I915_DEBUG_GEM_ONCE 41 select DRM_I915_DEBUG_MMIO 42 select DRM_I915_DEBUG_RUNTIME_PM 43 select DRM_I915_DEBUG_WAKEREF 44 select DRM_I915_SW_FENCE_DEBUG_OBJECTS 45 select DRM_I915_SELFTEST 46 default n 47 help 48 Choose this option to turn on extra driver debugging that may affect 49 performance but will catch some internal issues. 50 51 Recommended for driver developers only. 52 53 If in doubt, say "N". 54 55config DRM_I915_DEBUG_MMIO 56 bool "Always insert extra checks around mmio access by default" 57 default n 58 help 59 By default, always enables the extra sanity checks (extra register 60 reads) around every mmio (register) access that will slow the system 61 down. This sets the default value of i915.mmio_debug to -1 and can 62 be overridden at module load. 63 64 Recommended for driver developers only. 65 66 If in doubt, say "N". 67 68config DRM_I915_DEBUG_GEM 69 bool "Insert extra checks into the GEM internals" 70 default n 71 depends on DRM_I915_WERROR 72 help 73 Enable extra sanity checks (including BUGs) along the GEM driver 74 paths that may slow the system down and if hit hang the machine. 75 76 Recommended for driver developers only. 77 78 If in doubt, say "N". 79 80config DRM_I915_DEBUG_GEM_ONCE 81 bool "Make a GEM debug failure fatal" 82 default n 83 depends on DRM_I915_DEBUG_GEM 84 help 85 During development, we often only want the very first failure 86 as that would otherwise be lost in the deluge of subsequent 87 failures. However, more casual testers may not want to trigger 88 a hard BUG_ON and hope that the system remains sufficiently usable 89 to capture a bug report in situ. 90 91 Recommended for driver developers only. 92 93 If in doubt, say "N". 94 95config DRM_I915_ERRLOG_GEM 96 bool "Insert extra logging (very verbose) for common GEM errors" 97 default n 98 depends on DRM_I915_DEBUG_GEM 99 help 100 Enable additional logging that may help track down the cause of 101 principally userspace errors. 102 103 Recommended for driver developers only. 104 105 If in doubt, say "N". 106 107config DRM_I915_TRACE_GEM 108 bool "Insert extra ftrace output from the GEM internals" 109 depends on DRM_I915_DEBUG_GEM 110 select TRACING 111 default n 112 help 113 Enable additional and verbose debugging output that will spam 114 ordinary tests, but may be vital for post-mortem debugging when 115 used with /proc/sys/kernel/ftrace_dump_on_oops 116 117 Recommended for driver developers only. 118 119 If in doubt, say "N". 120 121config DRM_I915_TRACE_GTT 122 bool "Insert extra ftrace output from the GTT internals" 123 depends on DRM_I915_DEBUG_GEM 124 select TRACING 125 default n 126 help 127 Enable additional and verbose debugging output that will spam 128 ordinary tests, but may be vital for post-mortem debugging when 129 used with /proc/sys/kernel/ftrace_dump_on_oops 130 131 Recommended for driver developers only. 132 133 If in doubt, say "N". 134 135config DRM_I915_SW_FENCE_DEBUG_OBJECTS 136 bool "Enable additional driver debugging for fence objects" 137 depends on DRM_I915 138 select DEBUG_OBJECTS 139 default n 140 help 141 Choose this option to turn on extra driver debugging that may affect 142 performance but will catch some internal issues. 143 144 Recommended for driver developers only. 145 146 If in doubt, say "N". 147 148config DRM_I915_SW_FENCE_CHECK_DAG 149 bool "Enable additional driver debugging for detecting dependency cycles" 150 depends on DRM_I915 151 default n 152 help 153 Choose this option to turn on extra driver debugging that may affect 154 performance but will catch some internal issues. 155 156 Recommended for driver developers only. 157 158 If in doubt, say "N". 159 160config DRM_I915_DEBUG_GUC 161 bool "Enable additional driver debugging for GuC" 162 depends on DRM_I915 163 select STACKDEPOT 164 default n 165 help 166 Choose this option to turn on extra driver debugging that may affect 167 performance but will help resolve GuC related issues. 168 169 Recommended for driver developers only. 170 171 If in doubt, say "N". 172 173config DRM_I915_SELFTEST 174 bool "Enable selftests upon driver load" 175 depends on DRM_I915 176 default n 177 select DRM_EXPORT_FOR_TESTS if m 178 select FAULT_INJECTION 179 select PRIME_NUMBERS 180 select CRC32 181 help 182 Choose this option to allow the driver to perform selftests upon 183 loading; also requires the i915.selftest=1 module parameter. To 184 exit the module after running the selftests (i.e. to prevent normal 185 module initialisation afterwards) use i915.selftest=-1. 186 187 Recommended for driver developers only. 188 189 If in doubt, say "N". 190 191config DRM_I915_SELFTEST_BROKEN 192 bool "Enable broken and dangerous selftests" 193 depends on DRM_I915_SELFTEST 194 depends on BROKEN 195 default n 196 help 197 This option enables the execution of selftests that are "dangerous" 198 and may trigger unintended HW side-effects as they break strict 199 rules given in the HW specification. For science. 200 201 Recommended for masochistic driver developers only. 202 203 If in doubt, say "N". 204 205config DRM_I915_LOW_LEVEL_TRACEPOINTS 206 bool "Enable low level request tracing events" 207 depends on DRM_I915 208 default n 209 help 210 Choose this option to turn on low level request tracing events. 211 This provides the ability to precisely monitor engine utilisation 212 and also analyze the request dependency resolving timeline. 213 214 Recommended for driver developers only. 215 216 If in doubt, say "N". 217 218config DRM_I915_DEBUG_VBLANK_EVADE 219 bool "Enable extra debug warnings for vblank evasion" 220 depends on DRM_I915 221 default n 222 help 223 Choose this option to turn on extra debug warnings for the 224 vblank evade mechanism. This gives a warning every time the 225 the deadline allotted for the vblank evade critical section 226 is exceeded, even if there isn't an actual risk of missing 227 the vblank. 228 229 Recommended for driver developers only. 230 231 If in doubt, say "N". 232 233config DRM_I915_DEBUG_RUNTIME_PM 234 bool "Enable extra state checking for runtime PM" 235 depends on DRM_I915 236 default n 237 select REF_TRACKER 238 select STACKDEPOT 239 select STACKTRACE 240 help 241 Choose this option to turn on extra state checking for the 242 runtime PM functionality. This may introduce overhead during 243 driver loading, suspend and resume operations. 244 245 Recommended for driver developers only. 246 247 If in doubt, say "N" 248 249config DRM_I915_DEBUG_WAKEREF 250 bool "Enable extra tracking for wakerefs" 251 depends on DRM_I915 252 select REF_TRACKER 253 select STACKDEPOT 254 select STACKTRACE 255 help 256 Choose this option to turn on extra state checking and usage 257 tracking for the wakerefPM functionality. This may introduce 258 overhead during driver runtime. 259 260 If in doubt, say "N" 261