Re: [PATCH v2 4/9] drm/panthor: Implement optional reset

Alexander Stein
2025-09-04T14:39:24Z

Hi,

Am Donnerstag, 4. September 2025, 15:52:38 CEST schrieb Marek Vasut:
> On 9/4/25 8:36 AM, Alexander Stein wrote:
>
> Hello Alexander,
>
> >>> Maybe the GPU remains halted because
> >>> setting the GLB_HALT stops command stream processing, and the GPU never
> >>> samples the clearing of GLB_HALT and therefore remains halted forever ?
> >>
> >> Exactly that, and that's expected.
> >
> > FYI: in a new release of system manager software (starting from lf-6.12.3-1.0.0),
> > the GPU reset is reasserted in SM software already [1] and access to GPU
> > block control has been removed from Cortex-A [2]. Starting from B0 step this
> > version is required AFAIK.
>
> I don't think the SM is involved in this, because if I do the following
> test, the MCU also fails to boot unless I do a reset:

Is this some other reset than BLK_CTRL_GPUMIX? If so, it might be required.
Don't know much about internal details though.

Best regards
Alexander

> "
> diff --git a/drivers/gpu/drm/panthor/panthor_device.c
> b/drivers/gpu/drm/panthor/panthor_device.c
> index d4d73eebca49d..fd81cd2654111 100644
> --- a/drivers/gpu/drm/panthor/panthor_device.c
> +++ b/drivers/gpu/drm/panthor/panthor_device.c
> @@ -642,6 +642,18 @@ int panthor_device_suspend(struct device *dev)
> panthor_fw_suspend(ptdev);
> panthor_mmu_suspend(ptdev);
> panthor_gpu_suspend(ptdev);
> +
> +
> +panthor_gpu_soft_reset(ptdev); // needed, else panthor_fw_resume()
> below fails
> +
> + panthor_gpu_resume(ptdev);
> + panthor_mmu_resume(ptdev);
> +
> + ret = panthor_fw_resume(ptdev);
> + if (!ret)
> + return 0;
> +
> +
> drm_dev_exit(cookie);
> }
>
> "
>

--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider