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

Daniel Baluta daniel.baluta at gmail.com
Thu Jan 22 01:00:08 PST 2026


On Thu, Jan 22, 2026 at 7:54 AM Jacky Bai <ping.bai at nxp.com> 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
> 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 resets.
> 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 resets.
>
> Suggested by: Lucas Stach <l.stach at pengutronix.de>

Correct tag here is:

Suggested-by: Lucas Stach <l.stach at pengutronix.de>

Also, no need for a new line between tags.
>
> Signed-off-by: Jacky Bai <ping.bai at nxp.com>



More information about the linux-arm-kernel mailing list