linux_dsm_epyc7002/drivers/gpu/drm/i915/gt
Chris Wilson eca153603f drm/i915: Don't dereference request if it may have been retired when printing
This has caught me out on countless occasions, when we retrieve a pointer
from the submission/execlists backend, it does not carry a reference to
the context or ring. Those are only pinned while the request is active,
so if we see the request is already completed, it may be in the process
of being retired and those pointers defunct.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110938
Fixes: 3a068721a9 ("drm/i915: Show ring->start for the ELSP context/request queue")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190618161951.28820-2-chris@chris-wilson.co.uk
2019-06-18 18:14:43 +01:00
..
intel_breadcrumbs.c drm/i915: Seal races between async GPU cancellation, retirement and signaling 2019-05-08 16:02:41 +01:00
intel_context_types.h drm/i915: Keep contexts pinned until after the next kernel context switch 2019-06-14 19:03:32 +01:00
intel_context.c drm/i915: Keep contexts pinned until after the next kernel context switch 2019-06-14 19:03:32 +01:00
intel_context.h drm/i915: Keep contexts pinned until after the next kernel context switch 2019-06-14 19:03:32 +01:00
intel_engine_cs.c drm/i915: Don't dereference request if it may have been retired when printing 2019-06-18 18:14:43 +01:00
intel_engine_pm.c drm/i915: Keep contexts pinned until after the next kernel context switch 2019-06-14 19:03:32 +01:00
intel_engine_pm.h drm/i915/execlists: Flush the tasklet on parking 2019-05-03 11:35:31 +01:00
intel_engine_types.h drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
intel_engine.h drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
intel_gpu_commands.h drm/i915: add in-kernel blitter client 2019-05-30 12:01:44 +01:00
intel_gt_pm.c drm/i915: make intel_wakeref work on the rpm struct 2019-06-14 15:58:33 +01:00
intel_gt_pm.h drm/i915: Invert the GEM wakeref hierarchy 2019-04-24 22:26:49 +01:00
intel_hangcheck.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
intel_lrc_reg.h drm/i915/gtt: Use a common type for page directories 2019-06-17 16:30:54 +03:00
intel_lrc.c drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
intel_lrc.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
intel_mocs.c drm/i915/ehl: Update MOCS table for EHL 2019-06-15 08:19:49 -07:00
intel_mocs.h
intel_reset.c drm/i915: move modesetting core code under display/ 2019-06-17 11:48:32 +03:00
intel_reset.h drm/i915: Move i915_check_and_clear_faults to intel_reset.c 2019-06-10 09:09:26 +01:00
intel_ringbuffer.c drm/i915/gtt: Use a common type for page directories 2019-06-17 16:30:54 +03:00
intel_sseu.c Revert "drm/i915: Expand subslice mask" 2019-05-29 17:18:18 +03:00
intel_sseu.h Revert "drm/i915: Expand subslice mask" 2019-05-29 17:18:18 +03:00
intel_workarounds_types.h
intel_workarounds.c drm/i915: Add whitelist workarounds for ICL 2019-06-18 17:29:55 +01:00
intel_workarounds.h
Makefile
Makefile.header-test
mock_engine.c drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
mock_engine.h drm/i915: Split engine setup/init into two phases 2019-04-26 18:32:07 +01:00
selftest_engine_cs.c
selftest_hangcheck.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
selftest_lrc.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
selftest_reset.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
selftest_workarounds.c drm/i915: Update workarounds selftest for read only regs 2019-06-18 17:29:56 +01:00