linux_dsm_epyc7002/drivers/gpu/drm/i915/gt
Chris Wilson 8db7933ee3 drm/i915/execlists: Always clear ring_pause if we do not submit
In the unlikely case (thank you CI!), we may find ourselves wanting to
issue a preemption but having no runnable requests left. In this case,
we set the semaphore before computing the preemption and so must unset
it before forgetting (or else we leave the machine busywaiting until the
next request comes along and so likely hang).

v2: Replace readback with only a wmb after asserting the semaphore

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190624092009.30189-1-chris@chris-wilson.co.uk
2019-06-24 11:42:37 +01:00
..
selftests drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +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/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
intel_context.c drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01:00
intel_context.h drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01:00
intel_engine_cs.c drm/i915: Eliminate dual personality of i915_scratch_offset 2019-06-21 13:49:00 +01:00
intel_engine_pm.c drm/i915: Make the semaphore saturation mask global 2019-06-19 12:10:45 +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: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +01:00
intel_engine.h drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +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: Move intel_gt_pm_init under intel_gt_init_early 2019-06-21 13:48:18 +01:00
intel_gt_pm.h drm/i915: Move intel_gt_pm_init under intel_gt_init_early 2019-06-21 13:48:18 +01:00
intel_gt_types.h drm/i915: Remove waiting & retiring from shrinker paths 2019-06-21 19:47:48 +01:00
intel_gt.c drm/i915: Eliminate dual personality of i915_scratch_offset 2019-06-21 13:49:00 +01:00
intel_gt.h drm/i915: Eliminate dual personality of i915_scratch_offset 2019-06-21 13:49:00 +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/execlists: Always clear ring_pause if we do not submit 2019-06-24 11:42:37 +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/gt: Fixup kerneldoc parameters 2019-06-21 16:04:09 +01:00
intel_mocs.h drm/i915: Convert intel_mocs_init_l3cc_table to intel_gt 2019-06-21 13:48:28 +01:00
intel_reset.c drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +01:00
intel_reset.h drm/i915: Make i915_check_and_clear_faults take intel_gt 2019-06-21 13:48:20 +01:00
intel_ringbuffer.c drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01: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_timeline_types.h drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +01:00
intel_timeline.c drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +01:00
intel_timeline.h drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +01:00
intel_workarounds_types.h
intel_workarounds.c drm/i915: Save trip via top-level i915 in a few more places 2019-06-21 13:48:48 +01:00
intel_workarounds.h drm/i915: Convert gt workarounds to intel_gt 2019-06-21 13:48:25 +01:00
Makefile
Makefile.header-test
mock_engine.c drm/i915: Provide an i915_active.acquire callback 2019-06-21 19:47:55 +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: Throw away the active object retirement complexity 2019-06-21 19:47:51 +01:00
selftest_lrc.c drm/i915/execlists: Minimalistic timeslicing 2019-06-20 16:52:36 +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_timeline.c drm/i915: Rename i915_timeline to intel_timeline and move under gt 2019-06-21 13:48:53 +01:00
selftest_workarounds.c drm/i915: Save trip via top-level i915 in a few more places 2019-06-21 13:48:48 +01:00