On 08/10/2025 11:51, Ketil Johnsen wrote: > 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 <[email protected]>
Reviewed-by: Steven Price <[email protected]> Do we need a Fixes tag? Or is this only actually an issue on newer GPUs? Thanks, Steve > --- > 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 9bf06e55eaee..df767e82148a 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); > } > > /**
