]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/execlists: Split spinlock from its irq disabling side-effect
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 2 Mar 2018 14:32:45 +0000 (14:32 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 2 Mar 2018 23:11:12 +0000 (23:11 +0000)
commit696a106c166a5bc42bb53d5ab7571aceae37a3c7
treec2d2431dcea1baed12750012fb07caa1ec95976d
parent4ef0a4500e5144301af704ac3ff6b285c116f853
drm/i915/execlists: Split spinlock from its irq disabling side-effect

During reset/wedging, we have to clean up the requests on the timeline
and flush the pending interrupt state. Currently, we are abusing the irq
disabling of the timeline spinlock to protect the irq state in
conjunction to the engine's timeline requests, but this is accidental
and conflates the spinlock with the irq state. A baffling state of
affairs for the reader.

Instead, explicitly disable irqs over the critical section, and separate
modifying the irq state from the timeline's requests.

Suggested-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Michel Thierry <michel.thierry@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180302143246.2579-4-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
drivers/gpu/drm/i915/intel_lrc.c