From f23e93b0aab5d4d0f9156fd6294083c5f2f4305b Mon Sep 17 00:00:00 2001 From: Phil Elwell 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 --- drivers/gpu/drm/v3d/v3d_irq.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/v3d/v3d_irq.c b/drivers/gpu/drm/v3d/v3d_irq.c index fe2060c6b495a..7dde90d846f19 100644 --- 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; }