|  | # SPDX-License-Identifier: GPL-2.0-only | 
|  | config DRM_I915_WERROR | 
|  | bool "Force GCC to throw an error instead of a warning when compiling" | 
|  | # As this may inadvertently break the build, only allow the user | 
|  | # to shoot oneself in the foot iff they aim really hard | 
|  | depends on EXPERT | 
|  | # We use the dependency on !COMPILE_TEST to not be enabled in | 
|  | # allmodconfig or allyesconfig configurations | 
|  | depends on !COMPILE_TEST | 
|  | default n | 
|  | help | 
|  | Add -Werror to the build flags for (and only for) i915.ko. | 
|  | Do not enable this unless you are writing code for the i915.ko module. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_DEBUG | 
|  | bool "Enable additional driver debugging" | 
|  | depends on DRM_I915 | 
|  | select DEBUG_FS | 
|  | select PREEMPT_COUNT | 
|  | select I2C_CHARDEV | 
|  | select STACKDEPOT | 
|  | select DRM_DP_AUX_CHARDEV | 
|  | select X86_MSR # used by igt/pm_rpm | 
|  | select DRM_VGEM # used by igt/prime_vgem (dmabuf interop checks) | 
|  | select DRM_DEBUG_MM if DRM=y | 
|  | select DRM_EXPORT_FOR_TESTS if m | 
|  | select DRM_DEBUG_SELFTEST | 
|  | select DMABUF_SELFTESTS | 
|  | select SW_SYNC # signaling validation framework (igt/syncobj*) | 
|  | select DRM_I915_SW_FENCE_DEBUG_OBJECTS | 
|  | select DRM_I915_SELFTEST | 
|  | select DRM_I915_DEBUG_RUNTIME_PM | 
|  | select DRM_I915_DEBUG_MMIO | 
|  | default n | 
|  | help | 
|  | Choose this option to turn on extra driver debugging that may affect | 
|  | performance but will catch some internal issues. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_DEBUG_MMIO | 
|  | bool "Always insert extra checks around mmio access by default" | 
|  | default n | 
|  | help | 
|  | By default, always enables the extra sanity checks (extra register | 
|  | reads) around every mmio (register) access that will slow the system | 
|  | down. This sets the default value of i915.mmio_debug to -1 and can | 
|  | be overridden at module load. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_DEBUG_GEM | 
|  | bool "Insert extra checks into the GEM internals" | 
|  | default n | 
|  | depends on DRM_I915_WERROR | 
|  | help | 
|  | Enable extra sanity checks (including BUGs) along the GEM driver | 
|  | paths that may slow the system down and if hit hang the machine. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_ERRLOG_GEM | 
|  | bool "Insert extra logging (very verbose) for common GEM errors" | 
|  | default n | 
|  | depends on DRM_I915_DEBUG_GEM | 
|  | help | 
|  | Enable additional logging that may help track down the cause of | 
|  | principally userspace errors. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_TRACE_GEM | 
|  | bool "Insert extra ftrace output from the GEM internals" | 
|  | depends on DRM_I915_DEBUG_GEM | 
|  | select TRACING | 
|  | default n | 
|  | help | 
|  | Enable additional and verbose debugging output that will spam | 
|  | ordinary tests, but may be vital for post-mortem debugging when | 
|  | used with /proc/sys/kernel/ftrace_dump_on_oops | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_TRACE_GTT | 
|  | bool "Insert extra ftrace output from the GTT internals" | 
|  | depends on DRM_I915_DEBUG_GEM | 
|  | select TRACING | 
|  | default n | 
|  | help | 
|  | Enable additional and verbose debugging output that will spam | 
|  | ordinary tests, but may be vital for post-mortem debugging when | 
|  | used with /proc/sys/kernel/ftrace_dump_on_oops | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_SW_FENCE_DEBUG_OBJECTS | 
|  | bool "Enable additional driver debugging for fence objects" | 
|  | depends on DRM_I915 | 
|  | select DEBUG_OBJECTS | 
|  | default n | 
|  | help | 
|  | Choose this option to turn on extra driver debugging that may affect | 
|  | performance but will catch some internal issues. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_SW_FENCE_CHECK_DAG | 
|  | bool "Enable additional driver debugging for detecting dependency cycles" | 
|  | depends on DRM_I915 | 
|  | default n | 
|  | help | 
|  | Choose this option to turn on extra driver debugging that may affect | 
|  | performance but will catch some internal issues. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_DEBUG_GUC | 
|  | bool "Enable additional driver debugging for GuC" | 
|  | depends on DRM_I915 | 
|  | default n | 
|  | help | 
|  | Choose this option to turn on extra driver debugging that may affect | 
|  | performance but will help resolve GuC related issues. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_SELFTEST | 
|  | bool "Enable selftests upon driver load" | 
|  | depends on DRM_I915 | 
|  | default n | 
|  | select DRM_EXPORT_FOR_TESTS if m | 
|  | select FAULT_INJECTION | 
|  | select PRIME_NUMBERS | 
|  | select CRC32 | 
|  | help | 
|  | Choose this option to allow the driver to perform selftests upon | 
|  | loading; also requires the i915.selftest=1 module parameter. To | 
|  | exit the module after running the selftests (i.e. to prevent normal | 
|  | module initialisation afterwards) use i915.selftest=-1. | 
|  |  | 
|  | Recommended for driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_SELFTEST_BROKEN | 
|  | bool "Enable broken and dangerous selftests" | 
|  | depends on DRM_I915_SELFTEST | 
|  | depends on BROKEN | 
|  | default n | 
|  | help | 
|  | This option enables the execution of selftests that are "dangerous" | 
|  | and may trigger unintended HW side-effects as they break strict | 
|  | rules given in the HW specification. For science. | 
|  |  | 
|  | Recommended for masochistic driver developers only. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_LOW_LEVEL_TRACEPOINTS | 
|  | bool "Enable low level request tracing events" | 
|  | depends on DRM_I915 | 
|  | default n | 
|  | help | 
|  | Choose this option to turn on low level request tracing events. | 
|  | This provides the ability to precisely monitor engine utilisation | 
|  | and also analyze the request dependency resolving timeline. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_DEBUG_VBLANK_EVADE | 
|  | bool "Enable extra debug warnings for vblank evasion" | 
|  | depends on DRM_I915 | 
|  | default n | 
|  | help | 
|  | Choose this option to turn on extra debug warnings for the | 
|  | vblank evade mechanism. This gives a warning every time the | 
|  | the deadline allotted for the vblank evade critical section | 
|  | is exceeded, even if there isn't an actual risk of missing | 
|  | the vblank. | 
|  |  | 
|  | If in doubt, say "N". | 
|  |  | 
|  | config DRM_I915_DEBUG_RUNTIME_PM | 
|  | bool "Enable extra state checking for runtime PM" | 
|  | depends on DRM_I915 | 
|  | default n | 
|  | select STACKDEPOT | 
|  | help | 
|  | Choose this option to turn on extra state checking for the | 
|  | runtime PM functionality. This may introduce overhead during | 
|  | driver loading, suspend and resume operations. | 
|  |  | 
|  | If in doubt, say "N" |