diff options
author | 2015-08-20 14:54:16 +1000 | |
---|---|---|
committer | 2015-08-28 12:40:34 +1000 | |
commit | cbea21e2ab658ca1256bfe5f4c535b2b1b9e4060 (patch) | |
tree | e15a716f0ca5d9646d969364c0965e3baeb25e42 /drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h | |
parent | drm/nouveau/engine: rename some functions to avoid upcoming conflicts (diff) | |
download | wireguard-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.h | 8 |
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)); \ |