forked from Minki/linux
16c8619a7c
A lesson that has to be relearnt over and over again is that the request
does not keep a reference to the context and so we cannot freely
dereference the context from inside the execlists_submission_tasklet. In
particular, we try to do so in the new GEM_TRACE() so convert those over
to the port->context_id we keep for GEM debugging. This means the
tracing now depends on DRM_I915_GEM_DEBUG.
Fixes: bccd3b8311
("drm/i915: Use trace_printk to provide a death rattle for GEM")
References: https://bugs.freedesktop.org/show_bug.cgi?id=104066
References: https://bugs.freedesktop.org/show_bug.cgi?id=104162
References: https://bugs.freedesktop.org/show_bug.cgi?id=104242
References: https://bugs.freedesktop.org/show_bug.cgi?id=104310
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Michel Thierry <michel.thierry@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171219220916.30882-1-chris@chris-wilson.co.uk
145 lines
4.7 KiB
Plaintext
145 lines
4.7 KiB
Plaintext
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 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_DEBUG_MM_SELFTEST
|
|
select SW_SYNC # signaling validation framework (igt/syncobj*)
|
|
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_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_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_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_SELFTEST
|
|
bool "Enable selftests upon driver load"
|
|
depends on DRM_I915
|
|
default n
|
|
select FAULT_INJECTION
|
|
select PRIME_NUMBERS
|
|
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".
|