drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge
authorJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 21 Apr 2010 18:39:23 +0000 (11:39 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 22 Apr 2010 21:48:55 +0000 (14:48 -0700)
commite552eb7038a36d9b18860f525aa02875e313fe16
treebcbab5ec16994d6747794bab8f4bc38780f0157f
parent20bf377e679208ba9ae0edcb8c70a8f6d33d17f9
drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge

Since 965, the hardware has supported the PIPE_CONTROL command, which
provides fine grained GPU cache flushing control.  On recent chipsets,
this instruction is required for reliable interrupt and sequence number
reporting in the driver.

So add support for this instruction, including workarounds, on Ironlake
and Sandy Bridge hardware.

https://bugs.freedesktop.org/show_bug.cgi?id=27108

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h