drm/nouveau/mc/gp100-: route fault buffer interrupts to FAULT
authorBen Skeggs <bskeggs@redhat.com>
Tue, 8 May 2018 10:39:46 +0000 (20:39 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 18 May 2018 05:01:20 +0000 (15:01 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp100.c
drivers/gpu/drm/nouveau/nvkm/subdev/mc/gp10b.c
drivers/gpu/drm/nouveau/nvkm/subdev/mc/priv.h

index 7321ad3758c3b292e7486cf30e9905706d04073e..43db245eec9af667902a0d0e81404a52f653064d 100644 (file)
@@ -75,10 +75,28 @@ gp100_mc_intr_mask(struct nvkm_mc *base, u32 mask, u32 intr)
        spin_unlock_irqrestore(&mc->lock, flags);
 }
 
+const struct nvkm_mc_map
+gp100_mc_intr[] = {
+       { 0x04000000, NVKM_ENGINE_DISP },
+       { 0x00000100, NVKM_ENGINE_FIFO },
+       { 0x00000200, NVKM_SUBDEV_FAULT },
+       { 0x40000000, NVKM_SUBDEV_IBUS },
+       { 0x10000000, NVKM_SUBDEV_BUS },
+       { 0x08000000, NVKM_SUBDEV_FB },
+       { 0x02000000, NVKM_SUBDEV_LTC },
+       { 0x01000000, NVKM_SUBDEV_PMU },
+       { 0x00200000, NVKM_SUBDEV_GPIO },
+       { 0x00200000, NVKM_SUBDEV_I2C },
+       { 0x00100000, NVKM_SUBDEV_TIMER },
+       { 0x00040000, NVKM_SUBDEV_THERM },
+       { 0x00002000, NVKM_SUBDEV_FB },
+       {},
+};
+
 static const struct nvkm_mc_func
 gp100_mc = {
        .init = nv50_mc_init,
-       .intr = gk104_mc_intr,
+       .intr = gp100_mc_intr,
        .intr_unarm = gp100_mc_intr_unarm,
        .intr_rearm = gp100_mc_intr_rearm,
        .intr_mask = gp100_mc_intr_mask,
index 2283e3b7427758a29f2c880a52e82cd50bca43e6..ff8629de97d64d93ae9994ace277643a2788fb3d 100644 (file)
@@ -34,7 +34,7 @@ gp10b_mc_init(struct nvkm_mc *mc)
 static const struct nvkm_mc_func
 gp10b_mc = {
        .init = gp10b_mc_init,
-       .intr = gk104_mc_intr,
+       .intr = gp100_mc_intr,
        .intr_unarm = gp100_mc_intr_unarm,
        .intr_rearm = gp100_mc_intr_rearm,
        .intr_mask = gp100_mc_intr_mask,
index 8869d79c2b597cc6c542055c5bac7495bd5f44e0..d9e3691d45b7976bf4b5ef9782aea8f7e685487c 100644 (file)
@@ -57,4 +57,6 @@ int gp100_mc_new_(const struct nvkm_mc_func *, struct nvkm_device *, int,
 
 extern const struct nvkm_mc_map gk104_mc_intr[];
 extern const struct nvkm_mc_map gk104_mc_reset[];
+
+extern const struct nvkm_mc_map gp100_mc_intr[];
 #endif