HEAD_ADDR
ENGINE_READ_FW(engine, RING_HEAD) & HEAD_ADDR,
if ((ENGINE_READ_FW(engine, RING_HEAD) & HEAD_ADDR) !=
if ((ENGINE_READ(engine, RING_HEAD) & HEAD_ADDR) !=
ENGINE_READ(engine, RING_HEAD) & HEAD_ADDR);
ENGINE_READ(engine, RING_HEAD) & HEAD_ADDR,
return (ENGINE_READ_FW(engine, RING_HEAD) & HEAD_ADDR) == 0;
(head & HEAD_ADDR) != (tail & TAIL_ADDR))