--- nouveau/nouveau_pushbuf.h | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) v2: s/OUT_RELOChl/OUT_RELOC2/g as requested diff --git a/nouveau/nouveau_pushbuf.h b/nouveau/nouveau_pushbuf.h index 70d0f28..9273272 100644 --- a/nouveau/nouveau_pushbuf.h +++ b/nouveau/nouveau_pushbuf.h @@ -142,4 +142,15 @@ OUT_RELOCh(struct nouveau_channel *chan, struct nouveau_bo *bo, return OUT_RELOC(chan, bo, delta, flags | NOUVEAU_BO_HIGH, 0, 0); } +/* High 32-bits, then low 32-bits of offset */ +static __inline__ int +OUT_RELOC2(struct nouveau_channel *chan, struct nouveau_bo *bo, + unsigned delta, unsigned flags) +{ + int r = OUT_RELOC(chan, bo, delta, flags | NOUVEAU_BO_HIGH, 0, 0); + if (r) + return r; + return OUT_RELOC(chan, bo, delta, flags | NOUVEAU_BO_LOW, 0, 0); +} + #endif -- 1.7.3.3