| # 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 | 
 | 	depends on EXPERT # only for developers | 
 | 	depends on !COMPILE_TEST # never built by robots | 
 | 	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_WERROR | 
 | 	select DRM_I915_DEBUG_GEM | 
 | 	select DRM_I915_DEBUG_GEM_ONCE | 
 | 	select DRM_I915_DEBUG_MMIO | 
 | 	select DRM_I915_DEBUG_RUNTIME_PM | 
 | 	select DRM_I915_SW_FENCE_DEBUG_OBJECTS | 
 | 	select DRM_I915_SELFTEST | 
 | 	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_DEBUG_GEM_ONCE | 
 | 	bool "Make a GEM debug failure fatal" | 
 | 	default n | 
 | 	depends on DRM_I915_DEBUG_GEM | 
 | 	help | 
 | 	  During development, we often only want the very first failure | 
 | 	  as that would otherwise be lost in the deluge of subsequent | 
 | 	  failures. However, more casual testers may not want to trigger | 
 | 	  a hard BUG_ON and hope that the system remains sufficiently usable | 
 | 	  to capture a bug report in situ. | 
 |  | 
 | 	  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 | 
 | 	select STACKDEPOT | 
 | 	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. | 
 |  | 
 | 	  Recommended for driver developers only. | 
 |  | 
 | 	  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. | 
 |  | 
 | 	  Recommended for driver developers only. | 
 |  | 
 | 	  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. | 
 |  | 
 | 	  Recommended for driver developers only. | 
 |  | 
 | 	  If in doubt, say "N" |