mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
|
From ab12e353a3c4ecc58aac15a8ee5e98b12537d0a8 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->drm.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;
|
||
|
}
|
||
|
|