From: Maíra Canal Date: Sat, 30 May 2026 18:37:44 +0000 (-0300) Subject: drm/v3d: Clean caches before runtime suspend X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b81e8b02e8f26b13ff4d6410f7a9854ba7021b86;p=thirdparty%2Flinux.git 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 Reviewed-by: Iago Toral Quiroga --- 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);