drm/i915/execlists: Pull submit after dequeue under timeline lock
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 28 Jun 2018 20:12:04 +0000 (21:12 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 28 Jun 2018 21:55:03 +0000 (22:55 +0100)
commit0b02befa828c0be67a5416e10a0244e181fde0d3
tree507fc39856e5c516807774e3a9ed5308a004547f
parent74093f3eccac232447ef95536c6a359ee7661650
drm/i915/execlists: Pull submit after dequeue under timeline lock

In the next patch, we will begin processing the CSB from inside the
submission path (underneath an irqsoff section, and even from inside
interrupt handlers). This means that updating the execlists->port[] will
no longer be serialised by the tasklet but needs to be locked by the
engine->timeline.lock instead. Pull dequeue and submit under the same
lock for protection. (An alternate future plan is to keep the in/out
arrays separate for concurrent processing and reduced lock coverage.)

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/20180628201211.13837-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/intel_lrc.c