}
if (!bo->tile_flags) {
- MARK_RING (chan, 9, 2); /* flush on lack of space or relocs */
BEGIN_RING(chan, eng2d, mthd, 2);
OUT_RING (chan, format);
OUT_RING (chan, 1);
OUT_RELOCh(chan, bo, ps->offset, flags);
OUT_RELOCl(chan, bo, ps->offset, flags);
} else {
- MARK_RING (chan, 11, 2); /* flush on lack of space or relocs */
BEGIN_RING(chan, eng2d, mthd, 5);
OUT_RING (chan, format);
OUT_RING (chan, 0);
struct nouveau_grobj *eng2d = screen->eng2d;
int ret;
- WAIT_RING (chan, 32);
+ ret = MARK_RING(chan, 2*16 + 32, 4);
+ if (ret)
+ return ret;
ret = nv50_surface_set(screen, dst, 1);
if (ret)
if (format < 0)
return;
- WAIT_RING (chan, 32);
+ ret = MARK_RING (chan, 16 + 32, 2);
+ if (ret)
+ return;
ret = nv50_surface_set(screen, dst, 1);
if (ret)