Marcin Slusarz
2011-Jan-09 17:30 UTC
[Nouveau] [libdrm PATCH 2/3] nouveau: add OUT_RELOChl
--- nouveau/nouveau_pushbuf.h | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/nouveau/nouveau_pushbuf.h b/nouveau/nouveau_pushbuf.h index 70d0f28..5151e01 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_RELOChl(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
Marcin Slusarz
2011-Jan-12 19:24 UTC
[Nouveau] [libdrm PATCH 2/3 v2] nouveau: add new OUT_RELOC2 (OUT_RELOCh + OUT_RELOCl)
--- 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