diff options
| -rw-r--r-- | drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 7 |
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 | ||
