Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Stefano Radaelli" <stefano.radaelli21@gmail.com>
Cc: Frank.Li@kernel.org, devicetree@vger.kernel.org,
	imx@lists.linux.dev, conor+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH v1 06/12] arm64: dts: imx8mp-var-som-symphony: enable PCIe
Date: Wed, 03 Jun 2026 12:14:57 +0000	[thread overview]
Message-ID: <20260603121458.625971F00893@smtp.kernel.org> (raw)
In-Reply-To: <8b56416fbc765373643dfb0300c3661564e68ba4.1780487415.git.stefano.r@variscite.com>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Timeout and PCIe initialization failure during system resume due to I2C-based PCIe reset GPIO in NOIRQ phase.
--

commit 1813e394a2d156f58d0fa0b95aed827b4d4e4bc4
Author: Stefano Radaelli <stefano.r@variscite.com>

arm64: dts: imx8mp-var-som-symphony: enable PCIe

Add the PCIe reference clock and enable the PCIe controller and PHY on
the Symphony carrier board.

> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> --- a/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-var-som-symphony.dts
[ ... ]
> @@ -146,6 +152,18 @@ rtc@68 {
>  	};
>  };
>  
> +&pcie {
> +	reset-gpio = <&pcal6408 1 GPIO_ACTIVE_LOW>;

[Severity: High]
Does this configuration cause a timeout and PCIe initialization failure during
system resume?

The PCIe controller specifies an I2C-based GPIO expander (pcal6408) for its
reset-gpio. During system resume, the i.MX PCIe driver executes its hardware
initialization in the noirq phase (imx_pcie_resume_noirq() ->
dw_pcie_resume_noirq() -> imx_pcie_host_init()), which asserts and deasserts
the reset GPIO using gpiod_set_value_cansleep().

During the dpm_resume_noirq phase, local CPU interrupts are enabled but device
interrupts remain masked at the interrupt controller (because
resume_device_irqs() is called after noirq callbacks). As a result, the I2C
controller cannot receive device interrupts.

Furthermore, i2c_in_atomic_xfer_mode() evaluates to false because system_state
is SYSTEM_RUNNING and local IRQs are enabled, meaning the I2C core will not
fall back to atomic polling mode. The I2C transaction required to toggle the
GPIO will therefore wait for an interrupt that is masked, resulting in a
prolonged timeout and a failed transfer. This causes the PCIe resume to fail
and significantly delays the overall system resume process.

> +	status = "okay";
> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/cover.1780487415.git.stefano.r@variscite.com?part=6

  reply	other threads:[~2026-06-03 12:14 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-03 11:55 [PATCH v1 00/12] arm64: dts: imx8mp-var-som-symphony: align DTS with hardware revision Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 01/12] arm64: dts: imx8mp-var-som-symphony: add input keys Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 02/12] arm64: dts: imx8mp-var-som-symphony: enable USB support Stefano Radaelli
2026-06-03 12:14   ` sashiko-bot
2026-06-03 11:55 ` [PATCH v1 03/12] arm64: dts: imx8mp-var-som-symphony: add TPM support Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 04/12] arm64: dts: imx8mp-var-som-symphony: add external RTC Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 05/12] arm64: dts: imx8mp-var-som-symphony: enable header UARTs Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 06/12] arm64: dts: imx8mp-var-som-symphony: enable PCIe Stefano Radaelli
2026-06-03 12:14   ` sashiko-bot [this message]
2026-06-03 11:55 ` [PATCH v1 07/12] arm64: dts: imx8mp-var-som-symphony: add HDMI support Stefano Radaelli
2026-06-03 12:13   ` sashiko-bot
2026-06-03 11:55 ` [PATCH v1 08/12] arm64: dts: imx8mp-var-som-symphony: add capacitive touchscreen Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 09/12] arm64: dts: imx8mp-var-som-symphony: enable ECSPI2 Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 10/12] arm64: dts: imx8mp-var-som-symphony: keep RGB_SEL low Stefano Radaelli
2026-06-03 12:04   ` sashiko-bot
2026-06-03 11:55 ` [PATCH v1 11/12] arm64: dts: imx8mp-var-som-symphony: enable PWM1 Stefano Radaelli
2026-06-03 11:55 ` [PATCH v1 12/12] arm64: dts: freescale: imx8mp-var-som: add I2C1 bus recovery GPIOs Stefano Radaelli

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=20260603121458.625971F00893@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=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=stefano.radaelli21@gmail.com \
    /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