drm/i915: Reduce locking in gen8 IRQ handler
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 7 Apr 2015 15:21:04 +0000 (16:21 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 10 Apr 2015 08:33:32 +0000 (10:33 +0200)
commitcb0d205e0ffc78eb51d5e62c8ee841f286f10303
treed88b3f06776107ce649a1555a84b8a4f6a46f6b7
parenta6111f7b6604e6cf98856839b56a2ae436fc0bab
drm/i915: Reduce locking in gen8 IRQ handler

Similar in vain in reducing the number of unrequired spinlocks used for
execlist command submission (where the forcewake is required but
manually controlled), we know that the IRQ registers are outside of the
powerwell and so we can access them directly. Since we now have direct
access exported via I915_READ_FW/I915_WRITE_FW, lets put those to use in
the irq handlers as well.

In the process, reorder the execlist submission to happen as early as
possible.

v2: Restrict the untraced register mmio to just the GT path (i.e. the
hotpath for execlists)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c