From 572fb13db2a9dc5336a4b769d60428bc9cff0af6 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 20 Aug 2015 14:54:14 +1000 Subject: drm/nouveau/mpeg: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs --- drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c | 10 ++++++---- drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c | 4 +++- drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.c | 19 +++++++++++++------ 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c index d4d1abb..1586213 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c @@ -49,10 +49,12 @@ nv31_mpeg_object_ctor(struct nvkm_object *parent, if (ret) return ret; - nv_wo32(obj, 0x00, nv_mclass(obj)); - nv_wo32(obj, 0x04, 0x00000000); - nv_wo32(obj, 0x08, 0x00000000); - nv_wo32(obj, 0x0c, 0x00000000); + nvkm_kmap(obj); + nvkm_wo32(obj, 0x00, nv_mclass(obj)); + nvkm_wo32(obj, 0x04, 0x00000000); + nvkm_wo32(obj, 0x08, 0x00000000); + nvkm_wo32(obj, 0x0c, 0x00000000); + nvkm_done(obj); return 0; } diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c index 9bd5fc1..9393667 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c @@ -50,7 +50,9 @@ nv44_mpeg_context_ctor(struct nvkm_object *parent, if (ret) return ret; - nv_wo32(&chan->base.base, 0x78, 0x02001ec1); + nvkm_kmap(&chan->base.base.gpuobj); + nvkm_wo32(&chan->base.base.gpuobj, 0x78, 0x02001ec1); + nvkm_done(&chan->base.base.gpuobj); return 0; } diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.c index 0a4ada7..6af707b 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/mpeg/nv50.c @@ -49,10 +49,12 @@ nv50_mpeg_object_ctor(struct nvkm_object *parent, if (ret) return ret; - nv_wo32(obj, 0x00, nv_mclass(obj)); - nv_wo32(obj, 0x04, 0x00000000); - nv_wo32(obj, 0x08, 0x00000000); - nv_wo32(obj, 0x0c, 0x00000000); + nvkm_kmap(obj); + nvkm_wo32(obj, 0x00, nv_mclass(obj)); + nvkm_wo32(obj, 0x04, 0x00000000); + nvkm_wo32(obj, 0x08, 0x00000000); + nvkm_wo32(obj, 0x0c, 0x00000000); + nvkm_done(obj); return 0; } @@ -84,6 +86,7 @@ nv50_mpeg_context_ctor(struct nvkm_object *parent, { struct nvkm_bar *bar = nvkm_bar(parent); struct nv50_mpeg_chan *chan; + struct nvkm_gpuobj *image; int ret; ret = nvkm_mpeg_context_create(parent, engine, oclass, NULL, 128 * 4, @@ -92,9 +95,13 @@ nv50_mpeg_context_ctor(struct nvkm_object *parent, if (ret) return ret; - nv_wo32(chan, 0x0070, 0x00801ec1); - nv_wo32(chan, 0x007c, 0x0000037c); + image = &chan->base.base.gpuobj; + + nvkm_kmap(image); + nvkm_wo32(image, 0x0070, 0x00801ec1); + nvkm_wo32(image, 0x007c, 0x0000037c); bar->flush(bar); + nvkm_done(image); return 0; } -- cgit v1.1