Re: [PATCH v12 0/3] spi: pxa2xx: MacBook8,1 quirk, runtime PM, and LPSS S3 resume state fixes

"Shih-Yuan Lee (FourDollars)" <[email protected]>
Newsgroups org.kernel.vger.linux-spi,org.kernel.vger.linux-kernel
Message-ID <CAAT15mN3B4=7eaQUO9nmdP3SCN21ffKyK7VD4Vxck6gbH3izuw@mail.gmail.com>
On Sun, Jul 19, 2026 at 3:53 PM Andy Shevchenko
<[email protected]> wrote:
>
> On Sat, Jul 18, 2026 at 10:52:06PM +0800, Shih-Yuan Lee wrote:
> > Hi Mark,
> >
> > This 3-patch series resolves issues in the spi-pxa2xx host controller driver
> > related to Intel LPSS SPI controllers and the Apple MacBook8,1.
> >
> > Patch 1 moves the forced PIO mode quirk for the Apple MacBook8,1 LPSS SPI
> > controller from the client driver (applespi) to the host controller PCI glue
> > driver (spi-pxa2xx-pci) where it belongs.
> >
> > Patch 2 fixes runtime PM and interrupt handling in PIO mode: when DMA is
> > disabled, aggressive runtime clock gating causes PCIe Completion Timeouts on
> > subsequent MMIO accesses. It scopes autosuspend lockout strictly to LPSS controllers,
> > tracks clock state to avoid disable underflows, protects shared IRQ handling,
> > preserves the if (!pm_runtime_suspended(dev)) check in suspend/resume to avoid
> > PM state desynchronization on non-LPSS SoCs, and uses pm_runtime_put_sync() upon
> > driver remove to correctly synchronize the PM state machine to RPM_SUSPENDED.
> >
> > Patch 3 fixes S3 suspend/resume for Intel LPSS SPI controllers. The LPSS
> > power domain is fully removed across S3, losing all private register state.
> > Accessing MMIO on resume while the block is held in reset causes a PCIe Completion
> > Timeout and a watchdog system reset. To fix this, we save the LPSS private
> > registers in struct driver_data during suspend, de-assert resets first on
> > resume, and restore the saved registers.
>
> > Changes in v12:
> >   - Addressed feedback from Sashiko review on the v11 patchset for Patch 2:
> >   - Preserved the if (!pm_runtime_suspended(dev)) check prior to enabling/disabling
> >     the clock in pxa2xx_spi_suspend() and pxa2xx_spi_resume(). On non-LPSS platforms,
> >     if a device was runtime suspended prior to system sleep, unconditionally enabling
> >     its hardware clock during system resume forced the clock ON while the PM core
> >     retained RPM_SUSPENDED. Restoring this check prevents PM state desynchronization,
> >     avoiding power leaks on non-LPSS platforms.
>
> What's going on here, please?
>
> It's v12 and you haven't even a thought to add the authors of the drivers, nor
> any one from Intel whose SoCs are under the question here.a Besides that the patches
> need more work.
Hi Andy,

Understood. I will add the required authors/Intel folks and address
the remaining issues for the next version.

Could you please help provide the email addresses for the relevant
Intel maintainers or authors I should include except the list below?

$ ./scripts/get_maintainer.pl drivers/spi/spi-pxa2xx-pci.c
drivers/spi/spi-pxa2xx.c drivers/spi/spi-pxa2xx.h
Daniel Mack <[email protected]> (maintainer:PXA2xx/PXA3xx SUPPORT)
Haojian Zhuang <[email protected]> (maintainer:PXA2xx/PXA3xx SUPPORT)
Robert Jarzmik <[email protected]> (maintainer:PXA2xx/PXA3xx SUPPORT)
Mark Brown <[email protected]> (maintainer:SPI SUBSYSTEM)
[email protected] (moderated list:PXA2xx/PXA3xx SUPPORT)
[email protected] (open list:SPI SUBSYSTEM)
[email protected] (open list)

Shih-Yuan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.