Linux PCI subsystem development
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
Cc: conor+dt@kernel.org, linux-pci@vger.kernel.org, robh@kernel.org,
	imx@lists.linux.dev, devicetree@vger.kernel.org,
	Frank.Li@kernel.org
Subject: Re: [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
Date: Tue, 30 Jun 2026 06:24:08 +0000	[thread overview]
Message-ID: <20260630062408.683A71F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260630060710.3294811-7-sherry.sun@oss.nxp.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Moving `vpcie3v3aux-supply` to the Root Port node delegates its lifecycle to the generic `pci-pwrctrl` framework, causing auxiliary power to be disabled during system suspend, breaking Wake-on-PCIe.
- [High] Removal of `vpcie-supply` and `vpcie3v3aux-supply` from the host node breaks Devicetree forward compatibility for older kernels.
--

commit 5e5016406a44aded0d05f19605180a501f38ea48
Author: Sherry Sun <sherry.sun@nxp.com>

arm64: dts: imx8dxl/qm/qxp: Move power supply properties to Root Port node
    
This commit moves the power supply properties from the PCIe controller nodes
to the Root Port child nodes to support the new PCI pwrctrl framework.

> diff --git a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> index 78e8d41e67916..59d9fe687aaf0 100644
> --- a/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8dxl-evk.dts
> @@ -677,8 +677,6 @@ &pcie0 {
>  	pinctrl-names = "default";
>  	/* This property is deprecated, use reset-gpios from the Root Port node. */
>  	reset-gpio = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
> -	vpcie-supply = <&reg_pcieb>;
> -	vpcie3v3aux-supply = <&reg_pcieb>;

[Severity: High]
Will removing these properties break Devicetree forward compatibility for
older kernels?

Older kernels lacking the new pci-pwrctrl framework rely on finding the
vpcie-supply property in the host controller node to power the PCIe physical
slots. Because these regulators are not marked regulator-always-on, older
kernels might fail to enable them, resulting in unpowered slots and complete
device enumeration failure.

Could these properties be kept in the host node as deprecated fallbacks,
similar to how reset-gpio is handled here? The kernel regulator framework
uses reference counting, which should safely handle multiple driver
consumers.

>  	status = "okay";
>  };
>  
> @@ -692,6 +690,8 @@ &pcie0_ep {
>  
>  &pcieb_port0 {
>  	reset-gpios = <&lsio_gpio4 0 GPIO_ACTIVE_LOW>;
> +	vpcie3v3-supply = <&reg_pcieb>;
> +	vpcie3v3aux-supply = <&reg_pcieb>;

[Severity: High]
Does moving vpcie3v3aux-supply to the Root Port node break Wake-on-PCIe
during system suspend?

By delegating the lifecycle to the generic pci-pwrctrl framework, the
regulator might be turned off during suspend. Looking at the pci-imx6.c
driver, during system suspend dw_pcie_suspend_noirq() delegates to the host
controller's deinit callback imx_pcie_host_exit().

This unconditionally calls pci_pwrctrl_power_off_devices(pci->dev) without
checking pci->pp.skip_pwrctrl_off, unlike other DWC drivers like pcie-qcom.

If the pci-pwrctrl framework takes ownership and turns the regulator off, it
would violate the PCIe hardware requirement to maintain Vaux for Wake-on-PCIe
(PME from D3cold). Can we ensure the auxiliary supply remains active during
suspend events?

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260630060710.3294811-1-sherry.sun@oss.nxp.com?part=6

  reply	other threads:[~2026-06-30  6:24 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-30  6:07 [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Sherry Sun (OSS)
2026-06-30  6:07 ` [PATCH V4 1/7] arm: dts: imx6qdl-sabresd: Move power supply property to Root Port node Sherry Sun (OSS)
2026-06-30  6:27   ` sashiko-bot
2026-06-30  8:29     ` Sherry Sun
2026-06-30  6:07 ` [PATCH V4 2/7] arm: dts: imx6sx-sdb: " Sherry Sun (OSS)
2026-06-30  6:25   ` sashiko-bot
2026-06-30  8:29     ` Sherry Sun
2026-06-30  6:07 ` [PATCH V4 3/7] arm64: dts: imx8mm-evk: " Sherry Sun (OSS)
2026-06-30  6:12   ` sashiko-bot
2026-06-30  6:07 ` [PATCH V4 4/7] arm64: dts: imx8mp-evk: Move power supply properties " Sherry Sun (OSS)
2026-06-30  6:19   ` sashiko-bot
2026-06-30  8:34     ` Sherry Sun
2026-06-30  6:07 ` [PATCH V4 5/7] arm64: dts: imx8mq-evk: " Sherry Sun (OSS)
2026-06-30  6:20   ` sashiko-bot
2026-06-30  8:40     ` Sherry Sun
2026-06-30  6:07 ` [PATCH V4 6/7] arm64: dts: imx8dxl/qm/qxp: " Sherry Sun (OSS)
2026-06-30  6:24   ` sashiko-bot [this message]
2026-06-30  8:38     ` Sherry Sun
2026-06-30  6:07 ` [PATCH V4 7/7] arm64: dts: imx95: " Sherry Sun (OSS)
2026-06-30  6:23   ` sashiko-bot
2026-06-30  8:44     ` Sherry Sun
2026-06-30 15:31 ` [PATCH V4 0/7] PCI: imx6: Integrate pwrctrl API and update device trees Frank.Li
2026-06-30 15:52   ` Frank Li
2026-07-01  8:44     ` Sherry Sun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260630062408.683A71F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=Frank.Li@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=imx@lists.linux.dev \
    --cc=linux-pci@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox