nvkm_ro32
u32 _addr = (a), _data = nvkm_ro32((o), _addr); \
*(_data++) = nvkm_ro32((o), _addr); \
return nvkm_ro32(gpuobj->parent, gpuobj->node->offset + offset);
((u32 *)src)[i / 4] = nvkm_ro32(src, srcoffset + i);
return nvkm_ro32(gpuobj->memory, offset);
offset = nvkm_ro32(pgt, 8 + (offset >> 10));
u32 cv = (nvkm_ro32(fctx, c->ctxp + data) & ~cm);
gr->data[i / 4] = nvkm_ro32(data, CB_RESERVED + i);
u32 us = nvkm_ro32(acr->wpr, i);
const u32 instlo = nvkm_ro32(mem, base + 0x00);
const u32 insthi = nvkm_ro32(mem, base + 0x04);
const u32 addrlo = nvkm_ro32(mem, base + 0x08);
const u32 addrhi = nvkm_ro32(mem, base + 0x0c);
const u32 timelo = nvkm_ro32(mem, base + 0x10);
const u32 timehi = nvkm_ro32(mem, base + 0x14);
const u32 info0 = nvkm_ro32(mem, base + 0x18);
const u32 info1 = nvkm_ro32(mem, base + 0x1c);
pdbe_lo = nvkm_ro32(pdb, pdb_offset + 0);
pdbe_hi = nvkm_ro32(pdb, pdb_offset + 4);
iobj->suspend[i / 4] = nvkm_ro32(memory, i);
u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 0);
u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 4);
u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 0);
u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 16 + 4);
u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 0);
u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 4);
u32 datalo = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 0);
u32 datahi = nvkm_ro32(pt->memory, pt->base + ptei * 8 + 4);
data[0] = nvkm_ro32(inst, 0x200);
data[1] = nvkm_ro32(inst, 0x204);
tmp[0] = nvkm_ro32(pt->memory, pteo + 0x0);
tmp[1] = nvkm_ro32(pt->memory, pteo + 0x4);
tmp[2] = nvkm_ro32(pt->memory, pteo + 0x8);
tmp[3] = nvkm_ro32(pt->memory, pteo + 0xc);