summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2016-04-08 17:24:40 +1000
committerBen Skeggs <bskeggs@redhat.com>2016-05-20 14:43:04 +1000
commit98ac3f061afa9b8347948451cb4e2d336d0a8912 (patch)
treef97b24b0ff856bdfcea9a35dd54efa5c7b710110 /drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
parente93e198d468f6ae41cf62265f389da2925fe16bb (diff)
downloadlinux-stable-98ac3f061afa9b8347948451cb4e2d336d0a8912.tar.gz
linux-stable-98ac3f061afa9b8347948451cb4e2d336d0a8912.tar.bz2
linux-stable-98ac3f061afa9b8347948451cb4e2d336d0a8912.zip
drm/nouveau/fifo/gk104-: subclass func
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c')
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
index fce308f01342..1c9682ae3a6b 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/base.c
@@ -178,6 +178,17 @@ nvkm_fifo_class_get(struct nvkm_oclass *oclass, int index,
const struct nvkm_fifo_chan_oclass *sclass;
int c = 0;
+ if (fifo->func->class_get) {
+ int ret = fifo->func->class_get(fifo, index, &sclass);
+ if (ret == 0) {
+ oclass->base = sclass->base;
+ oclass->engn = sclass;
+ *class = &nvkm_fifo_class;
+ return 0;
+ }
+ return ret;
+ }
+
while ((sclass = fifo->func->chan[c])) {
if (c++ == index) {
oclass->base = sclass->base;