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:

"
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);
        }

"

Reply via email to