aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
index 3f05414c077c..5606c25e5d02 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c
@@ -1097,9 +1097,14 @@ gf100_gr_intr(struct nvkm_subdev *subdev)
1097 u32 subc = (addr & 0x00070000) >> 16; 1097 u32 subc = (addr & 0x00070000) >> 16;
1098 u32 data = nv_rd32(priv, 0x400708); 1098 u32 data = nv_rd32(priv, 0x400708);
1099 u32 code = nv_rd32(priv, 0x400110); 1099 u32 code = nv_rd32(priv, 0x400110);
1100 u32 class = nv_rd32(priv, 0x404200 + (subc * 4)); 1100 u32 class;
1101 int chid; 1101 int chid;
1102 1102
1103 if (nv_device(priv)->card_type < NV_E0 || subc < 4)
1104 class = nv_rd32(priv, 0x404200 + (subc * 4));
1105 else
1106 class = 0x0000;
1107
1103 engctx = nvkm_engctx_get(engine, inst); 1108 engctx = nvkm_engctx_get(engine, inst);
1104 chid = pfifo->chid(pfifo, engctx); 1109 chid = pfifo->chid(pfifo, engctx);
1105 1110