Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/panthor: Fix the FW reset logic

In the post_reset function, if the fast reset didn't succeed, we
are not clearing the fast_reset flag, which prevents firmware
sections from being reloaded. While at it, use panthor_fw_stop()
instead of manually writing DISABLE to the MCU_CONTROL register.

Fixes: 2718d91816ee ("drm/panthor: Add the FW logical block")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240430113727.493155-1-boris.brezillon@collabora.com

+4 -3
+4 -3
drivers/gpu/drm/panthor/panthor_fw.c
··· 1083 1083 if (!ret) 1084 1084 goto out; 1085 1085 1086 - /* Force a disable, so we get a fresh boot on the next 1087 - * panthor_fw_start() call. 1086 + /* Forcibly reset the MCU and force a slow reset, so we get a 1087 + * fresh boot on the next panthor_fw_start() call. 1088 1088 */ 1089 - gpu_write(ptdev, MCU_CONTROL, MCU_CONTROL_DISABLE); 1089 + panthor_fw_stop(ptdev); 1090 + ptdev->fw->fast_reset = false; 1090 1091 drm_err(&ptdev->base, "FW fast reset failed, trying a slow reset"); 1091 1092 } 1092 1093