diff mbox series

[SRU,F,1/3] drm/nouveau/disp/gv100-: halt NV_PDISP_FE_RM_INTR_STAT_CTRL_DISP_ERROR storms

Message ID 20241210220308.903968-2-jacob.martin@canonical.com
State New
Headers show
Series Fix nouveau error storm and unresponsive display after desktop idle timeout | expand

Commit Message

Jacob Martin Dec. 10, 2024, 10:03 p.m. UTC
From: Ben Skeggs <bskeggs@redhat.com>

BugLink: https://bugs.launchpad.net/bugs/2078011

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
(cherry picked from commit 58ae5284f663f0856a13bc6caad93a0fe49d7cb4)
Signed-off-by: Jacob Martin <jacob.martin@canonical.com>
---
 drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c
index 892be6c9b76ca..c215400be509a 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/disp/gv100.c
@@ -144,6 +144,12 @@  gv100_disp_intr_ctrl_disp(struct nv50_disp *disp)
 	if (stat & 0x00000008)
 		stat &= ~0x00000008;
 
+	if (stat & 0x00000080) {
+		u32 error = nvkm_mask(device, 0x611848, 0x00000000, 0x00000000);
+		nvkm_warn(subdev, "error %08x\n", error);
+		stat &= ~0x00000080;
+	}
+
 	if (stat & 0x00000100) {
 		unsigned long wndws = nvkm_rd32(device, 0x611858);
 		unsigned long other = nvkm_rd32(device, 0x61185c);