diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2015-08-20 14:54:19 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2015-08-28 12:40:40 +1000 |
commit | 2a7909c0ade08c66690e6115ae49765dc47873e6 (patch) | |
tree | 83be819a00404cb6db70257cc2f3869907272140 /drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c | |
parent | 0710cc31482ae3711367c42e61580126c50c8ec0 (diff) |
drm/nouveau/disp: split user classes out from engine implementations
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c b/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c index c3af125c7132..4e8b632ef5b1 100644 --- a/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/engine/sw/nv50.c @@ -73,12 +73,14 @@ static bool nv50_sw_chan_mthd(struct nvkm_sw_chan *base, int subc, u32 mthd, u32 data) { struct nv50_sw_chan *chan = nv50_sw_chan(base); + struct nvkm_engine *engine = chan->base.base.gpuobj.object.engine; + struct nvkm_device *device = engine->subdev.device; switch (mthd) { case 0x018c: chan->vblank.ctxdma = data; return true; case 0x0400: chan->vblank.offset = data; return true; case 0x0404: chan->vblank.value = data; return true; case 0x0408: - if (data < nvkm_disp(chan)->vblank.index_nr) { + if (data < device->disp->vblank.index_nr) { nvkm_notify_get(&chan->vblank.notify[data]); return true; } @@ -111,7 +113,7 @@ nv50_sw_context_ctor(struct nvkm_object *parent, struct nvkm_object *engine, struct nvkm_oclass *oclass, void *data, u32 size, struct nvkm_object **pobject) { - struct nvkm_disp *disp = nvkm_disp(parent); + struct nvkm_disp *disp = parent->engine->subdev.device->disp; struct nv50_sw_cclass *pclass = (void *)oclass; struct nv50_sw_chan *chan; int ret, i; |