From 572fb13db2a9dc5336a4b769d60428bc9cff0af6 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 20 Aug 2015 14:54:14 +1000 Subject: [PATCH] drm/nouveau/mpeg: switch to gpuobj accessor macros Signed-off-by: Ben Skeggs --- .../gpu/drm/nouveau/nvkm/engine/mpeg/nv31.c | 10 ++++++---- .../gpu/drm/nouveau/nvkm/engine/mpeg/nv44.c | 4 +++- .../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 d4d1abba02f4..1586213b0830 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 9bd5fc185ea2..93936671f39b 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 0a4ada7b3a27..6af707b5be18 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; } -- 2.20.1