| # 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_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_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_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" |