18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ciconfig DRM_I915_WERROR
38c2ecf20Sopenharmony_ci	bool "Force GCC to throw an error instead of a warning when compiling"
48c2ecf20Sopenharmony_ci	# As this may inadvertently break the build, only allow the user
58c2ecf20Sopenharmony_ci	# to shoot oneself in the foot iff they aim really hard
68c2ecf20Sopenharmony_ci	depends on EXPERT
78c2ecf20Sopenharmony_ci	# We use the dependency on !COMPILE_TEST to not be enabled in
88c2ecf20Sopenharmony_ci	# allmodconfig or allyesconfig configurations
98c2ecf20Sopenharmony_ci	depends on !COMPILE_TEST
108c2ecf20Sopenharmony_ci	default n
118c2ecf20Sopenharmony_ci	help
128c2ecf20Sopenharmony_ci	  Add -Werror to the build flags for (and only for) i915.ko.
138c2ecf20Sopenharmony_ci	  Do not enable this unless you are writing code for the i915.ko module.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci	  If in doubt, say "N".
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciconfig DRM_I915_DEBUG
208c2ecf20Sopenharmony_ci	bool "Enable additional driver debugging"
218c2ecf20Sopenharmony_ci	depends on DRM_I915
228c2ecf20Sopenharmony_ci	select DEBUG_FS
238c2ecf20Sopenharmony_ci	select PREEMPT_COUNT
248c2ecf20Sopenharmony_ci	select I2C_CHARDEV
258c2ecf20Sopenharmony_ci	select STACKDEPOT
268c2ecf20Sopenharmony_ci	select DRM_DP_AUX_CHARDEV
278c2ecf20Sopenharmony_ci	select X86_MSR # used by igt/pm_rpm
288c2ecf20Sopenharmony_ci	select DRM_VGEM # used by igt/prime_vgem (dmabuf interop checks)
298c2ecf20Sopenharmony_ci	select DRM_DEBUG_MM if DRM=y
308c2ecf20Sopenharmony_ci	select DRM_EXPORT_FOR_TESTS if m
318c2ecf20Sopenharmony_ci	select DRM_DEBUG_SELFTEST
328c2ecf20Sopenharmony_ci	select DMABUF_SELFTESTS
338c2ecf20Sopenharmony_ci	select SW_SYNC # signaling validation framework (igt/syncobj*)
348c2ecf20Sopenharmony_ci	select DRM_I915_SW_FENCE_DEBUG_OBJECTS
358c2ecf20Sopenharmony_ci	select DRM_I915_SELFTEST
368c2ecf20Sopenharmony_ci	select DRM_I915_DEBUG_RUNTIME_PM
378c2ecf20Sopenharmony_ci	select DRM_I915_DEBUG_MMIO
388c2ecf20Sopenharmony_ci	default n
398c2ecf20Sopenharmony_ci	help
408c2ecf20Sopenharmony_ci	  Choose this option to turn on extra driver debugging that may affect
418c2ecf20Sopenharmony_ci	  performance but will catch some internal issues.
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	  If in doubt, say "N".
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciconfig DRM_I915_DEBUG_MMIO
488c2ecf20Sopenharmony_ci	bool "Always insert extra checks around mmio access by default"
498c2ecf20Sopenharmony_ci	default n
508c2ecf20Sopenharmony_ci	help
518c2ecf20Sopenharmony_ci	  By default, always enables the extra sanity checks (extra register
528c2ecf20Sopenharmony_ci	  reads) around every mmio (register) access that will slow the system
538c2ecf20Sopenharmony_ci	  down. This sets the default value of i915.mmio_debug to -1 and can
548c2ecf20Sopenharmony_ci	  be overridden at module load.
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	  If in doubt, say "N".
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciconfig DRM_I915_DEBUG_GEM
618c2ecf20Sopenharmony_ci	bool "Insert extra checks into the GEM internals"
628c2ecf20Sopenharmony_ci	default n
638c2ecf20Sopenharmony_ci	depends on DRM_I915_WERROR
648c2ecf20Sopenharmony_ci	help
658c2ecf20Sopenharmony_ci	  Enable extra sanity checks (including BUGs) along the GEM driver
668c2ecf20Sopenharmony_ci	  paths that may slow the system down and if hit hang the machine.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	  If in doubt, say "N".
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciconfig DRM_I915_ERRLOG_GEM
738c2ecf20Sopenharmony_ci	bool "Insert extra logging (very verbose) for common GEM errors"
748c2ecf20Sopenharmony_ci	default n
758c2ecf20Sopenharmony_ci	depends on DRM_I915_DEBUG_GEM
768c2ecf20Sopenharmony_ci	help
778c2ecf20Sopenharmony_ci	  Enable additional logging that may help track down the cause of
788c2ecf20Sopenharmony_ci	  principally userspace errors.
798c2ecf20Sopenharmony_ci
808c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci	  If in doubt, say "N".
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ciconfig DRM_I915_TRACE_GEM
858c2ecf20Sopenharmony_ci	bool "Insert extra ftrace output from the GEM internals"
868c2ecf20Sopenharmony_ci	depends on DRM_I915_DEBUG_GEM
878c2ecf20Sopenharmony_ci	select TRACING
888c2ecf20Sopenharmony_ci	default n
898c2ecf20Sopenharmony_ci	help
908c2ecf20Sopenharmony_ci	  Enable additional and verbose debugging output that will spam
918c2ecf20Sopenharmony_ci	  ordinary tests, but may be vital for post-mortem debugging when
928c2ecf20Sopenharmony_ci	  used with /proc/sys/kernel/ftrace_dump_on_oops
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci	  If in doubt, say "N".
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciconfig DRM_I915_TRACE_GTT
998c2ecf20Sopenharmony_ci	bool "Insert extra ftrace output from the GTT internals"
1008c2ecf20Sopenharmony_ci	depends on DRM_I915_DEBUG_GEM
1018c2ecf20Sopenharmony_ci	select TRACING
1028c2ecf20Sopenharmony_ci	default n
1038c2ecf20Sopenharmony_ci	help
1048c2ecf20Sopenharmony_ci	  Enable additional and verbose debugging output that will spam
1058c2ecf20Sopenharmony_ci	  ordinary tests, but may be vital for post-mortem debugging when
1068c2ecf20Sopenharmony_ci	  used with /proc/sys/kernel/ftrace_dump_on_oops
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
1098c2ecf20Sopenharmony_ci
1108c2ecf20Sopenharmony_ci	  If in doubt, say "N".
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ciconfig DRM_I915_SW_FENCE_DEBUG_OBJECTS
1138c2ecf20Sopenharmony_ci	bool "Enable additional driver debugging for fence objects"
1148c2ecf20Sopenharmony_ci	depends on DRM_I915
1158c2ecf20Sopenharmony_ci	select DEBUG_OBJECTS
1168c2ecf20Sopenharmony_ci	default n
1178c2ecf20Sopenharmony_ci	help
1188c2ecf20Sopenharmony_ci	  Choose this option to turn on extra driver debugging that may affect
1198c2ecf20Sopenharmony_ci	  performance but will catch some internal issues.
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci	  If in doubt, say "N".
1248c2ecf20Sopenharmony_ci
1258c2ecf20Sopenharmony_ciconfig DRM_I915_SW_FENCE_CHECK_DAG
1268c2ecf20Sopenharmony_ci	bool "Enable additional driver debugging for detecting dependency cycles"
1278c2ecf20Sopenharmony_ci	depends on DRM_I915
1288c2ecf20Sopenharmony_ci	default n
1298c2ecf20Sopenharmony_ci	help
1308c2ecf20Sopenharmony_ci	  Choose this option to turn on extra driver debugging that may affect
1318c2ecf20Sopenharmony_ci	  performance but will catch some internal issues.
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci	  If in doubt, say "N".
1368c2ecf20Sopenharmony_ci
1378c2ecf20Sopenharmony_ciconfig DRM_I915_DEBUG_GUC
1388c2ecf20Sopenharmony_ci	bool "Enable additional driver debugging for GuC"
1398c2ecf20Sopenharmony_ci	depends on DRM_I915
1408c2ecf20Sopenharmony_ci	default n
1418c2ecf20Sopenharmony_ci	help
1428c2ecf20Sopenharmony_ci	  Choose this option to turn on extra driver debugging that may affect
1438c2ecf20Sopenharmony_ci	  performance but will help resolve GuC related issues.
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
1468c2ecf20Sopenharmony_ci
1478c2ecf20Sopenharmony_ci	  If in doubt, say "N".
1488c2ecf20Sopenharmony_ci
1498c2ecf20Sopenharmony_ciconfig DRM_I915_SELFTEST
1508c2ecf20Sopenharmony_ci	bool "Enable selftests upon driver load"
1518c2ecf20Sopenharmony_ci	depends on DRM_I915
1528c2ecf20Sopenharmony_ci	default n
1538c2ecf20Sopenharmony_ci	select DRM_EXPORT_FOR_TESTS if m
1548c2ecf20Sopenharmony_ci	select FAULT_INJECTION
1558c2ecf20Sopenharmony_ci	select PRIME_NUMBERS
1568c2ecf20Sopenharmony_ci	select CRC32
1578c2ecf20Sopenharmony_ci	help
1588c2ecf20Sopenharmony_ci	  Choose this option to allow the driver to perform selftests upon
1598c2ecf20Sopenharmony_ci	  loading; also requires the i915.selftest=1 module parameter. To
1608c2ecf20Sopenharmony_ci	  exit the module after running the selftests (i.e. to prevent normal
1618c2ecf20Sopenharmony_ci	  module initialisation afterwards) use i915.selftest=-1.
1628c2ecf20Sopenharmony_ci
1638c2ecf20Sopenharmony_ci	  Recommended for driver developers only.
1648c2ecf20Sopenharmony_ci
1658c2ecf20Sopenharmony_ci	  If in doubt, say "N".
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ciconfig DRM_I915_SELFTEST_BROKEN
1688c2ecf20Sopenharmony_ci	bool "Enable broken and dangerous selftests"
1698c2ecf20Sopenharmony_ci	depends on DRM_I915_SELFTEST
1708c2ecf20Sopenharmony_ci	depends on BROKEN
1718c2ecf20Sopenharmony_ci	default n
1728c2ecf20Sopenharmony_ci	help
1738c2ecf20Sopenharmony_ci	  This option enables the execution of selftests that are "dangerous"
1748c2ecf20Sopenharmony_ci	  and may trigger unintended HW side-effects as they break strict
1758c2ecf20Sopenharmony_ci	  rules given in the HW specification. For science.
1768c2ecf20Sopenharmony_ci
1778c2ecf20Sopenharmony_ci	  Recommended for masochistic driver developers only.
1788c2ecf20Sopenharmony_ci
1798c2ecf20Sopenharmony_ci	  If in doubt, say "N".
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ciconfig DRM_I915_LOW_LEVEL_TRACEPOINTS
1828c2ecf20Sopenharmony_ci	bool "Enable low level request tracing events"
1838c2ecf20Sopenharmony_ci	depends on DRM_I915
1848c2ecf20Sopenharmony_ci	default n
1858c2ecf20Sopenharmony_ci	help
1868c2ecf20Sopenharmony_ci	  Choose this option to turn on low level request tracing events.
1878c2ecf20Sopenharmony_ci	  This provides the ability to precisely monitor engine utilisation
1888c2ecf20Sopenharmony_ci	  and also analyze the request dependency resolving timeline.
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci	  If in doubt, say "N".
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_ciconfig DRM_I915_DEBUG_VBLANK_EVADE
1938c2ecf20Sopenharmony_ci	bool "Enable extra debug warnings for vblank evasion"
1948c2ecf20Sopenharmony_ci	depends on DRM_I915
1958c2ecf20Sopenharmony_ci	default n
1968c2ecf20Sopenharmony_ci	help
1978c2ecf20Sopenharmony_ci	  Choose this option to turn on extra debug warnings for the
1988c2ecf20Sopenharmony_ci	  vblank evade mechanism. This gives a warning every time the
1998c2ecf20Sopenharmony_ci	  the deadline allotted for the vblank evade critical section
2008c2ecf20Sopenharmony_ci	  is exceeded, even if there isn't an actual risk of missing
2018c2ecf20Sopenharmony_ci	  the vblank.
2028c2ecf20Sopenharmony_ci
2038c2ecf20Sopenharmony_ci	  If in doubt, say "N".
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ciconfig DRM_I915_DEBUG_RUNTIME_PM
2068c2ecf20Sopenharmony_ci	bool "Enable extra state checking for runtime PM"
2078c2ecf20Sopenharmony_ci	depends on DRM_I915
2088c2ecf20Sopenharmony_ci	default n
2098c2ecf20Sopenharmony_ci	select STACKDEPOT
2108c2ecf20Sopenharmony_ci	help
2118c2ecf20Sopenharmony_ci	  Choose this option to turn on extra state checking for the
2128c2ecf20Sopenharmony_ci	  runtime PM functionality. This may introduce overhead during
2138c2ecf20Sopenharmony_ci	  driver loading, suspend and resume operations.
2148c2ecf20Sopenharmony_ci
2158c2ecf20Sopenharmony_ci	  If in doubt, say "N"
216