RING_HEAD
I915_WRITE(RING_HEAD(base), 0);
POSTING_READ_FW(RING_HEAD(RENDER_RING_BASE));
I915_READ(RING_HEAD(engine->mmio_base)) & HEAD_ADDR);
CTX_REG(regs, CTX_RING_HEAD, RING_HEAD(base), 0);
#define I915_READ_HEAD(engine) I915_READ(RING_HEAD((engine)->mmio_base))
#define I915_WRITE_HEAD(engine, val) I915_WRITE(RING_HEAD((engine)->mmio_base), val)
I915_WRITE_FW(RING_HEAD(base), I915_READ_FW(RING_TAIL(base)));
POSTING_READ_FW(RING_HEAD(base)); /* paranoia */
I915_WRITE_FW(RING_HEAD(base), 0);
if (I915_READ_FW(RING_HEAD(base)) != 0)