mirror of
https://github.com/raspberrypi/linux.git
synced 2026-01-04 18:27:36 +00:00
drm/v3d: Suppress all but the first MMU error
The v3d driver currently encounters a lot of MMU PTE exceptions, so only log the first to avoid swamping the kernel log. Signed-off-by: Phil Elwell <phil@raspberrypi.org>
This commit is contained in:
@@ -211,6 +211,7 @@ v3d_hub_irq(int irq, void *arg)
|
|||||||
{0x7F, 0x80, "GMP"},
|
{0x7F, 0x80, "GMP"},
|
||||||
};
|
};
|
||||||
const char *client = "?";
|
const char *client = "?";
|
||||||
|
static int logged_error;
|
||||||
|
|
||||||
V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL));
|
V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL));
|
||||||
|
|
||||||
@@ -238,6 +239,7 @@ v3d_hub_irq(int irq, void *arg)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!logged_error)
|
||||||
dev_err(v3d->drm.dev, "MMU error from client %s (0x%x) at 0x%llx%s%s%s\n",
|
dev_err(v3d->drm.dev, "MMU error from client %s (0x%x) at 0x%llx%s%s%s\n",
|
||||||
client, axi_id, (long long)vio_addr,
|
client, axi_id, (long long)vio_addr,
|
||||||
((intsts & V3D_HUB_INT_MMU_WRV) ?
|
((intsts & V3D_HUB_INT_MMU_WRV) ?
|
||||||
@@ -246,6 +248,7 @@ v3d_hub_irq(int irq, void *arg)
|
|||||||
", pte invalid" : ""),
|
", pte invalid" : ""),
|
||||||
((intsts & V3D_HUB_INT_MMU_CAP) ?
|
((intsts & V3D_HUB_INT_MMU_CAP) ?
|
||||||
", cap exceeded" : ""));
|
", cap exceeded" : ""));
|
||||||
|
logged_error = 1;
|
||||||
status = IRQ_HANDLED;
|
status = IRQ_HANDLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user