Re: [PATCH v3] pmdomain: imx: gpcv2: Fix the imx8mm gpu hang due to wrong adb400 reset

From: Fabio Estevam

Date: Sat Jan 24 2026 - 16:21:15 EST


On Thu, Jan 22, 2026 at 11:51 PM Jacky Bai <ping.bai@xxxxxxx> wrote:
>
> On i.MX8MM, the GPUMIX, GPU2D, and GPU3D blocks share a common reset
> domain. Due to this hardware limitation, powering off/on GPU2D or GPU3D
> also triggers a reset of the GPUMIX domain, including its ADB400 port.
> However, the ADB400 interface must always be placed into power‑down mode
> before being reset.
>
> Currently the GPUMIX and GPU2D/3D power domains rely on runtime PM to
> handle dependency ordering. In some corner cases, the GPUMIX power off
> sequence is skipped, leaving the ADB400 port active when GPU2D/3D reset.
> This causes the GPUMIX ADB400 port to be reset while still active,
> leading to unpredictable bus behavior and GPU hangs.
>
> To avoid this, refine the power‑domain control logic so that the GPUMIX
> ADB400 port is explicitly powered down and powered up as part of the GPU
> power domain on/off sequence. This ensures proper ordering and prevents
> incorrect ADB400 reset.
>
> Suggested-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
> Signed-off-by: Jacky Bai <ping.bai@xxxxxxx>

Shouldn't this have a Fixes tag?