drm/i915/gem: Consolidate ctx->engines[] release
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 3 Mar 2020 08:05:44 +0000 (08:05 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 3 Mar 2020 17:30:20 +0000 (17:30 +0000)
commit130a95e9098e91117164b1ba52c3f8f43bb6f28a
treed4390196438c81528eb36bda69b4a116697bcda9
parent3faf8b8532d750be669af0d27049914cff90acd8
drm/i915/gem: Consolidate ctx->engines[] release

Use the same engine_idle_release() routine for cleaning all old
ctx->engine[] state, closing any potential races with concurrent execbuf
submission.

v2ish: Use the ce->pin_count to close the execbuf gap.

Closes: https://gitlab.freedesktop.org/drm/intel/issues/1241
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200303080546.1140508-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_context.c
drivers/gpu/drm/i915/gem/i915_gem_context.h
drivers/gpu/drm/i915/gem/selftests/mock_context.c