6.17-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ketil Johnsen ketil.johnsen@arm.com
[ Upstream commit e07e10ae83bdf429f59c8c149173a8c4f29c481e ]
Currently the Panthor driver needs the GPU to be powered down between suspend and resume. If this is not done, then the MCU_CONTROL register will be preserved as AUTO, which again will cause a premature FW boot on resume. The FW will go directly into fatal state in this case.
This case needs to be handled as there is no guarantee that the GPU will be powered down after the suspend callback on all platforms.
The fix is to call panthor_fw_stop() in "pre-reset" path to ensure the MCU_CONTROL register is cleared (set DISABLE). This matches well with the already existing call to panthor_fw_start() from the "post-reset" path.
Signed-off-by: Ketil Johnsen ketil.johnsen@arm.com Acked-by: Boris Brezillon boris.brezillon@collabora.com Reviewed-by: Steven Price steven.price@arm.com Fixes: 2718d91816ee ("drm/panthor: Add the FW logical block") Signed-off-by: Steven Price steven.price@arm.com Link: https://lore.kernel.org/r/20251008105112.4077015-1-ketil.johnsen@arm.com Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/gpu/drm/panthor/panthor_fw.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/panthor/panthor_fw.c b/drivers/gpu/drm/panthor/panthor_fw.c index 36f1034839c27..44a9958351889 100644 --- a/drivers/gpu/drm/panthor/panthor_fw.c +++ b/drivers/gpu/drm/panthor/panthor_fw.c @@ -1099,6 +1099,7 @@ void panthor_fw_pre_reset(struct panthor_device *ptdev, bool on_hang) }
panthor_job_irq_suspend(&ptdev->fw->irq); + panthor_fw_stop(ptdev); }
/**