From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from metis.whiteo.stw.pengutronix.de (metis.whiteo.stw.pengutronix.de [185.203.201.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EEDFB21D3F2 for ; Mon, 26 Jan 2026 09:21:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.203.201.7 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769419290; cv=none; b=rVZ83QWguy2hFdkoXyC8gUWliqPAon1SZNAPHt6I9ja+8ONobKYFcB9U/M+i5tOOTj9iZUhjjOUpM7dpfSfP/NWr1GoaSWrSmjg6SXFz0nFBjCHulo6Rr39iLWqzz3v9xQgQaC9MI4425ln+9/PTu9VSN02ly7nspcwyb8I/8WI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769419290; c=relaxed/simple; bh=zuLTNu10t9Op8BVt2TUYGYUes51ASXSsTqsYh2FmfbA=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=Cn69moCZRlp0tEvtav60InIkaJKhgoh9XARIiZqTeo58MjFBIc0U5xnpoeDvb14sg5Yeskc+OvoODzh3JsC+6pR8fwZwRbFGI6lAc1zzhGdtGdgEojr3vcG3cak1o8Ey4k69vBQL5Uxw3bn2t33ZQOqrlwV+xK3bxzi0B8tQnTs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de; spf=pass smtp.mailfrom=pengutronix.de; arc=none smtp.client-ip=185.203.201.7 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=pengutronix.de Received: from ptz.office.stw.pengutronix.de ([2a0a:edc0:0:900:1d::77] helo=[IPv6:::1]) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1vkImW-0000cv-MV; Mon, 26 Jan 2026 10:21:12 +0100 Message-ID: <255e1946a67efadf13f468fc24c907074037a45e.camel@pengutronix.de> Subject: Re: [PATCH v3] pmdomain: imx: gpcv2: Fix the imx8mm gpu hang due to wrong adb400 reset From: Lucas Stach To: Fabio Estevam , Jacky Bai Cc: Ulf Hansson , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-pm@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Date: Mon, 26 Jan 2026 10:21:11 +0100 In-Reply-To: References: <20260123-imx8mm_gpu_power_domain-v3-1-3752618050c9@nxp.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.4 (3.52.4-2.fc40) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2a0a:edc0:0:900:1d::77 X-SA-Exim-Mail-From: l.stach@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Am Samstag, dem 24.01.2026 um 18:20 -0300 schrieb Fabio Estevam: > On Thu, Jan 22, 2026 at 11:51=E2=80=AFPM Jacky Bai wro= te: > >=20 > > 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=E2=80=91= down mode > > before being reset. > >=20 > > 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. > >=20 > > To avoid this, refine the power=E2=80=91domain control logic so that th= e GPUMIX > > ADB400 port is explicitly powered down and powered up as part of the GP= U > > power domain on/off sequence. This ensures proper ordering and prevents > > incorrect ADB400 reset. > >=20 > > Suggested-by: Lucas Stach > > Signed-off-by: Jacky Bai >=20 > Shouldn't this have a Fixes tag? Yes, it needs to go into at least the active 6.12 LTS series, as the patch changing the domain suspend ordering is in 6.10. Other than the missing tags: Reviewed-by: Lucas Stach Regards, Lucas