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:
Phil Elwell
2019-11-11 20:18:08 +00:00
committed by Dom Cobley
parent 2b0f1373c3
commit 9f81f52013

View File

@@ -211,6 +211,7 @@ v3d_hub_irq(int irq, void *arg)
{0x7F, 0x80, "GMP"},
};
const char *client = "?";
static int logged_error;
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",
client, axi_id, (long long)vio_addr,
((intsts & V3D_HUB_INT_MMU_WRV) ?
@@ -246,6 +248,7 @@ v3d_hub_irq(int irq, void *arg)
", pte invalid" : ""),
((intsts & V3D_HUB_INT_MMU_CAP) ?
", cap exceeded" : ""));
logged_error = 1;
status = IRQ_HANDLED;
}