]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Synchronize irq before parking each engine
authorChris Wilson <chris@chris-wilson.co.uk>
Mon, 23 Oct 2017 21:32:35 +0000 (22:32 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 24 Oct 2017 14:47:05 +0000 (15:47 +0100)
commite7ca7c6290cad5cf98771392a2769c958274b330
tree2d2c02149d85ee1f29bf17fe960b5a203c4a7e5f
parent662091471095b4a0e75096fef53dc89035d32ca8
drm/i915: Synchronize irq before parking each engine

When we park the engine (upon idling), we kill the irq tasklet. However,
to be sure that it is not restarted by a spurious interrupt after doing so,
flush the interrupt handler before parking. As we only park the engines
when we believe the system is idle, there should not be any interrupts to
distrub us; so flushing the final in-flight interrupt should be sufficient.
(However, we are still dependent on the HW behaving in an orderly and
timely fashion, which we shall endeavour to improve upon later.)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171023213237.26536-2-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
drivers/gpu/drm/i915/i915_gem.c