diff options
| author | Maíra Canal <mcanal@igalia.com> | 2026-05-30 15:37:44 -0300 |
|---|---|---|
| committer | Maíra Canal <mcanal@igalia.com> | 2026-06-01 18:40:55 -0300 |
| commit | b81e8b02e8f26b13ff4d6410f7a9854ba7021b86 (patch) | |
| tree | 8ccfc759dcfe64505d46a5a447af6fc0825822fa | |
| parent | 257adf5ea64901263071a4a8e6ff958c5e0712c1 (diff) | |
| download | linux-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.c | 2 |
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); |
