summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaíra Canal <mcanal@igalia.com>2026-05-30 15:37:44 -0300
committerMaíra Canal <mcanal@igalia.com>2026-06-01 18:40:55 -0300
commitb81e8b02e8f26b13ff4d6410f7a9854ba7021b86 (patch)
tree8ccfc759dcfe64505d46a5a447af6fc0825822fa
parent257adf5ea64901263071a4a8e6ff958c5e0712c1 (diff)
downloadlinux-b81e8b02e8f26b13ff4d6410f7a9854ba7021b86.tar.gz
linux-b81e8b02e8f26b13ff4d6410f7a9854ba7021b86.zip
drm/v3d: Clean caches before runtime suspend
On runtime suspend, clean the V3D caches before suspending so all dirty lines are written back to memory before the power domain is shut down. Fixes several system hangs reported in [1][2][3]. Closes: https://github.com/raspberrypi/linux/issues/7381 [1] Closes: https://github.com/raspberrypi/linux/issues/7396 [2] Closes: https://github.com/raspberrypi/linux/issues/7397 [3] Fixes: 458f2a712ab4 ("drm/v3d: Introduce Runtime Power Management") Link: https://patch.msgid.link/20260530-v3d-fix-rpi4-freezes-v1-3-c2c8307da6ce@igalia.com Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
-rw-r--r--drivers/gpu/drm/v3d/v3d_power.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/v3d/v3d_power.c b/drivers/gpu/drm/v3d/v3d_power.c
index 769e90032b04..f7df6393d38f 100644
--- a/drivers/gpu/drm/v3d/v3d_power.c
+++ b/drivers/gpu/drm/v3d/v3d_power.c
@@ -52,6 +52,8 @@ int v3d_power_suspend(struct device *dev)
v3d_irq_disable(v3d);
+ v3d_clean_caches(v3d);
+
ret = v3d_suspend_sms(v3d);
if (ret) {
v3d_irq_enable(v3d);