提交 8a1f4836 编写于 作者: P Phil Elwell 提交者: Zheng Zengkai

drm/v3d: Suppress all but the first MMU error

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

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: NPhil Elwell <phil@raspberrypi.org>
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 66f3ac48
...@@ -177,6 +177,7 @@ v3d_hub_irq(int irq, void *arg) ...@@ -177,6 +177,7 @@ v3d_hub_irq(int irq, void *arg)
"GMP", "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));
...@@ -186,6 +187,7 @@ v3d_hub_irq(int irq, void *arg) ...@@ -186,6 +187,7 @@ v3d_hub_irq(int irq, void *arg)
client = v3d41_axi_ids[axi_id]; 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", 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, client, axi_id, (long long)vio_addr,
((intsts & V3D_HUB_INT_MMU_WRV) ? ((intsts & V3D_HUB_INT_MMU_WRV) ?
...@@ -194,6 +196,7 @@ v3d_hub_irq(int irq, void *arg) ...@@ -194,6 +196,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;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册