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