drm/nv41/bus: report useful data on mmio fault
authorMartin Peres <martin.peres@labri.fr>
Fri, 7 Dec 2012 01:26:02 +0000 (02:26 +0100)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 20 Feb 2013 06:00:23 +0000 (16:00 +1000)
Based on Ben Skeggs's nvc0 patch. Tested on my nv4b, 84 and 92.

Signed-off-by: Martin Peres <martin.peres@labri.fr>
drivers/gpu/drm/nouveau/core/subdev/bus/nv31.c
drivers/gpu/drm/nouveau/core/subdev/bus/nv50.c

index d996b5dc0cb334fd1f7b39f6399f675c748b8960..34132aef34e1d12bdd2527f92b48a3449c33efef 100644 (file)
@@ -42,8 +42,14 @@ nv31_bus_intr(struct nouveau_subdev *subdev)
                        subdev->intr(subdev);
        }
 
-       if (stat & 0x00000008) {
-               nv_error(pbus, "MMIO FAULT\n"); /* NV41- */
+       if (stat & 0x00000008) {  /* NV41- */
+               u32 addr = nv_rd32(pbus, 0x009084);
+               u32 data = nv_rd32(pbus, 0x009088);
+
+               nv_error(pbus, "MMIO %s of 0x%08x FAULT at 0x%06x\n",
+                        (addr & 0x00000002) ? "write" : "read", data,
+                        (addr & 0x00fffffc));
+
                stat &= ~0x00000008;
                nv_wr32(pbus, 0x001100, 0x00000008);
        }
index 0eed34f93e5326d5dd79e9eeae28516d4a4100c0..f5b2117fa8c6341f3797f258eeb2fa0008394cda 100644 (file)
@@ -36,7 +36,13 @@ nv50_bus_intr(struct nouveau_subdev *subdev)
        u32 stat = nv_rd32(pbus, 0x001100) & nv_rd32(pbus, 0x001140);
 
        if (stat & 0x00000008) {
-               nv_error(pbus, "MMIO FAULT\n");
+               u32 addr = nv_rd32(pbus, 0x009084);
+               u32 data = nv_rd32(pbus, 0x009088);
+
+               nv_error(pbus, "MMIO %s of 0x%08x FAULT at 0x%06x\n",
+                        (addr & 0x00000002) ? "write" : "read", data,
+                        (addr & 0x00fffffc));
+
                stat &= ~0x00000008;
                nv_wr32(pbus, 0x001100, 0x00000008);
        }
This page took 0.02863 seconds and 5 git commands to generate.