| From f1f228c84864bad0bb07de1c72ceafaec035ac15 Mon Sep 17 00:00:00 2001 |
| From: Phil Elwell <phil@raspberrypi.org> |
| Date: Mon, 11 Nov 2019 20:18:08 +0000 |
| Subject: [PATCH] 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> |
| --- |
| drivers/gpu/drm/v3d/v3d_irq.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| --- a/drivers/gpu/drm/v3d/v3d_irq.c |
| +++ b/drivers/gpu/drm/v3d/v3d_irq.c |
| @@ -177,6 +177,7 @@ v3d_hub_irq(int irq, void *arg) |
| "GMP", |
| }; |
| const char *client = "?"; |
| + static int logged_error; |
| |
| V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL)); |
| |
| @@ -186,6 +187,7 @@ v3d_hub_irq(int irq, void *arg) |
| client = v3d41_axi_ids[axi_id]; |
| } |
| |
| + if (!logged_error) |
| dev_err(v3d->dev, "MMU error from client %s (%d) at 0x%llx%s%s%s\n", |
| client, axi_id, (long long)vio_addr, |
| ((intsts & V3D_HUB_INT_MMU_WRV) ? |
| @@ -194,6 +196,7 @@ v3d_hub_irq(int irq, void *arg) |
| ", pte invalid" : ""), |
| ((intsts & V3D_HUB_INT_MMU_CAP) ? |
| ", cap exceeded" : "")); |
| + logged_error = 1; |
| status = IRQ_HANDLED; |
| } |
| |