drm/i915/gt: ce->inflight updates are now serialised
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 13:55:44 +0000 (13:55 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 15:02:41 +0000 (15:02 +0000)
commit177b7a52a16a0f9b9075119308ed3d8d5a8640cc
tree0b2d170eb87b0ec1b18f96463af9dbf6684bf9dd
parentac1a6d7310e238b4781708283d441625c8e7da25
drm/i915/gt: ce->inflight updates are now serialised

Since schedule-in and schedule-out are now both always under the tasklet
bitlock, we can reduce the individual atomic operations to simple
instructions and worry less.

This notably eliminates the race observed with intel_context_inflight in
__engine_unpark().

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2583
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/20201224135544.1713-9-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_execlists_submission.c