aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2015-08-20 14:54:16 +1000
committerBen Skeggs <bskeggs@redhat.com>2015-08-28 12:40:34 +1000
commitcbea21e2ab658ca1256bfe5f4c535b2b1b9e4060 (patch)
treee15a716f0ca5d9646d969364c0965e3baeb25e42 /drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
parentdrm/nouveau/engine: rename some functions to avoid upcoming conflicts (diff)
downloadwireguard-linux-cbea21e2ab658ca1256bfe5f4c535b2b1b9e4060.tar.xz
wireguard-linux-cbea21e2ab658ca1256bfe5f4c535b2b1b9e4060.zip
drm/nouveau/object: implement support for new-style nvkm_object
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h')
-rw-r--r--drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h b/drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
index 46975785ba3c..2260aef3ec3e 100644
--- a/drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
+++ b/drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h
@@ -68,8 +68,12 @@ void _nvkm_gpuobj_wr32(struct nvkm_object *, u64, u32);
struct nvkm_gpuobj *_gpuobj = (o); \
(void)_gpuobj; \
} while(0)
-#define nvkm_ro32(o,a) nv_ofuncs(o)->rd32(&(o)->object, (a))
-#define nvkm_wo32(o,a,d) nv_ofuncs(o)->wr32(&(o)->object, (a), (d))
+#define nvkm_ro32(o,a) ({ \
+ u32 _data; \
+ nvkm_object_rd32(&(o)->object, (a), &_data); \
+ _data; \
+})
+#define nvkm_wo32(o,a,d) nvkm_object_wr32(&(o)->object, (a), (d))
#define nvkm_mo32(o,a,m,d) ({ \
u32 _addr = (a), _data = nvkm_ro32((o), _addr); \
nvkm_wo32((o), _addr, (_data & ~(m)) | (d)); \