linux_dsm_epyc7002/drivers/gpu/drm/i915/gt
Chris Wilson 982b1d002f drm/i915: Lock the engine while dumping the active request
We cannot let the request be retired and freed while we are trying to
dump it during error capture. It is not sufficient just to grab a
reference to the request, as during retirement we may free the ring
which we are also dumping. So take the engine lock to prevent retiring
and freeing of the request.

Reported-by: Alex Shumsky <alexthreed@gmail.com>
Fixes: 83c317832e ("drm/i915: Dump the ringbuffer of the active request for debugging")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Alex Shumsky <alexthreed@gmail.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190715080946.15593-6-chris@chris-wilson.co.uk
(cherry picked from commit cfe7288c27)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2019-07-29 15:49:54 +03:00
..
intel_breadcrumbs.c
intel_context_types.h
intel_context.c drm/i915: Keep rings pinned while the context is active 2019-07-29 14:57:50 +03:00
intel_context.h
intel_engine_cs.c drm/i915: Lock the engine while dumping the active request 2019-07-29 15:49:54 +03:00
intel_engine_pm.c
intel_engine_pm.h
intel_engine_types.h drm/i915: Keep rings pinned while the context is active 2019-07-29 14:57:50 +03:00
intel_engine.h
intel_gpu_commands.h
intel_gt_pm.c
intel_gt_pm.h
intel_hangcheck.c
intel_lrc_reg.h
intel_lrc.c drm/i915: Keep rings pinned while the context is active 2019-07-29 14:57:50 +03:00
intel_lrc.h
intel_mocs.c
intel_mocs.h
intel_reset.c
intel_reset.h
intel_ringbuffer.c drm/i915: Keep rings pinned while the context is active 2019-07-29 14:57:50 +03:00
intel_sseu.c
intel_sseu.h
intel_workarounds_types.h
intel_workarounds.c drm/i915/icl: whitelist PS_(DEPTH|INVOCATION)_COUNT 2019-07-29 15:28:21 +03:00
intel_workarounds.h
Makefile
Makefile.header-test
mock_engine.c drm/i915: Keep rings pinned while the context is active 2019-07-29 14:57:50 +03:00
mock_engine.h
selftest_engine_cs.c
selftest_hangcheck.c drm/i915: Stop passing I915_WAIT_LOCKED to i915_request_wait() 2019-06-19 12:58:38 +01:00
selftest_lrc.c drm/i915: Stop passing I915_WAIT_LOCKED to i915_request_wait() 2019-06-19 12:58:38 +01:00
selftest_reset.c
selftest_workarounds.c drm/i915: fix whitelist selftests with readonly registers 2019-07-29 15:28:21 +03:00