| # 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_REPLAY_GPU_HANGS_API | |
| bool "Enable GPU hang replay userspace API" | |
| depends on DRM_I915 | |
| depends on EXPERT | |
| default n | |
| help | |
| Choose this option if you want to enable special and unstable | |
| userspace API used for replaying GPU hangs on a running system. | |
| This API is intended to be used by userspace graphics stack developers | |
| and provides no stability guarantees. | |
| The API needs to be activated at boot time using the | |
| enable_debug_only_api module parameter. | |
| 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 REF_TRACKER | |
| select STACKDEPOT | |
| select STACKTRACE | |
| select DRM_DISPLAY_DP_AUX_CHARDEV | |
| select DRM_DISPLAY_DP_TUNNEL_STATE_DEBUG if DRM_I915_DP_TUNNEL | |
| 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_KUNIT_TEST if KUNIT | |
| select DMABUF_KUNIT_TEST if KUNIT | |
| 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_DEBUG_WAKEREF | |
| 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_KUNIT_TEST | |
| tristate "KUnit tests for the drm i915 driver" if !KUNIT_ALL_TESTS | |
| depends on DRM_I915 && KUNIT && DEBUG_FS | |
| default KUNIT_ALL_TESTS | |
| help | |
| Choose this option to allow the driver to perform selftests under | |
| the kunit framework | |
| Recommended for 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 REF_TRACKER | |
| select STACKDEPOT | |
| select STACKTRACE | |
| 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" | |
| config DRM_I915_DEBUG_WAKEREF | |
| bool "Enable extra tracking for wakerefs" | |
| depends on DRM_I915 | |
| select REF_TRACKER | |
| select STACKDEPOT | |
| select STACKTRACE | |
| help | |
| Choose this option to turn on extra state checking and usage | |
| tracking for the wakerefPM functionality. This may introduce | |
| overhead during driver runtime. | |
| If in doubt, say "N" |