Chris Wilson 750bde2fd4 drm/i915: Serialise with remote retirement
Since retirement may be running in a worker on another CPU, it may be
skipped in the local intel_gt_wait_for_idle(). To ensure the state is
consistent for our sanity checks upon load, serialise with the remote
retirer by waiting on the timeline->mutex.

Outside of this use case, e.g. on suspend or module unload, we expect the
slack to be picked up by intel_gt_pm_wait_for_idle() and so prefer to
put the special case serialisation with retirement in its single user,
for now at least.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191121071044.97798-2-chris@chris-wilson.co.uk
(cherry picked from commit 2d0fb251360ab7eccbffd99f6933a2a4de678d52)
Fixes: 093b92287363 ("drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree")
Closes: https://gitlab.freedesktop.org/drm/intel/issues/754
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2019-12-11 16:19:32 +02:00
..
2019-12-06 10:28:09 -08:00
2019-12-06 10:28:09 -08:00
2019-10-29 12:53:54 +02:00
2019-12-06 10:28:09 -08:00
2019-08-10 19:47:40 +01:00
2019-11-27 17:45:48 -08:00
2019-08-10 19:47:40 +01:00
2019-08-10 19:47:40 +01:00
2019-10-17 10:50:47 +01:00
2019-11-27 17:45:48 -08:00
2019-12-02 17:35:04 -08:00
2019-10-29 12:53:54 +02:00