#define MI_INSTR(op, flag) (((op) << 23) | (flag)) #define MI_NOOP MI_INSTR(0, 0) #define MI_NOOP_ID(id) MI_INSTR(0, (1<<22|(id))) enum { XY_COLOR_BLT = 0x50, }; typedef struct Ring Ring; struct Ring { u32int *mmio; void *va; uintptr gtta; }; int ringinit(Ring *r, u32int *mmio, void *va, uintptr gtta); int ringstart(Ring *r); int ringstop(Ring *r); int ringbusy(Ring *r);