drm/nouveau/mpeg: switch to gpuobj accessor macros

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Ben Skeggs 2015-08-20 14:54:14 +10:00
parent 142ea05f49
commit 572fb13db2
3 changed files with 22 additions and 11 deletions

View file

@ -49,10 +49,12 @@ nv31_mpeg_object_ctor(struct nvkm_object *parent,
if (ret) if (ret)
return ret; return ret;
nv_wo32(obj, 0x00, nv_mclass(obj)); nvkm_kmap(obj);
nv_wo32(obj, 0x04, 0x00000000); nvkm_wo32(obj, 0x00, nv_mclass(obj));
nv_wo32(obj, 0x08, 0x00000000); nvkm_wo32(obj, 0x04, 0x00000000);
nv_wo32(obj, 0x0c, 0x00000000); nvkm_wo32(obj, 0x08, 0x00000000);
nvkm_wo32(obj, 0x0c, 0x00000000);
nvkm_done(obj);
return 0; return 0;
} }

View file

@ -50,7 +50,9 @@ nv44_mpeg_context_ctor(struct nvkm_object *parent,
if (ret) if (ret)
return 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; return 0;
} }

View file

@ -49,10 +49,12 @@ nv50_mpeg_object_ctor(struct nvkm_object *parent,
if (ret) if (ret)
return ret; return ret;
nv_wo32(obj, 0x00, nv_mclass(obj)); nvkm_kmap(obj);
nv_wo32(obj, 0x04, 0x00000000); nvkm_wo32(obj, 0x00, nv_mclass(obj));
nv_wo32(obj, 0x08, 0x00000000); nvkm_wo32(obj, 0x04, 0x00000000);
nv_wo32(obj, 0x0c, 0x00000000); nvkm_wo32(obj, 0x08, 0x00000000);
nvkm_wo32(obj, 0x0c, 0x00000000);
nvkm_done(obj);
return 0; return 0;
} }
@ -84,6 +86,7 @@ nv50_mpeg_context_ctor(struct nvkm_object *parent,
{ {
struct nvkm_bar *bar = nvkm_bar(parent); struct nvkm_bar *bar = nvkm_bar(parent);
struct nv50_mpeg_chan *chan; struct nv50_mpeg_chan *chan;
struct nvkm_gpuobj *image;
int ret; int ret;
ret = nvkm_mpeg_context_create(parent, engine, oclass, NULL, 128 * 4, 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) if (ret)
return ret; return ret;
nv_wo32(chan, 0x0070, 0x00801ec1); image = &chan->base.base.gpuobj;
nv_wo32(chan, 0x007c, 0x0000037c);
nvkm_kmap(image);
nvkm_wo32(image, 0x0070, 0x00801ec1);
nvkm_wo32(image, 0x007c, 0x0000037c);
bar->flush(bar); bar->flush(bar);
nvkm_done(image);
return 0; return 0;
} }