[PATCH 0/2] PCI/ASPM: Allow quirks to avoid L0s and L1

Hongxing Zhu hongxing.zhu at nxp.com
Fri Nov 7 13:33:23 AEDT 2025


> -----Original Message-----
> From: Bjorn Helgaas <helgaas at kernel.org>
> Sent: 2025年11月7日 2:37
> To: linux-pci at vger.kernel.org
> Cc: Christian Zigotzky <chzigotzky at xenosoft.de>; Manivannan Sadhasivam
> <mani at kernel.org>; mad skateman <madskateman at gmail.com>; R . T .
> Dickinson <rtd2 at xtra.co.nz>; Darren Stevens <darren at stevens-zone.net>;
> John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de>; Lukas Wunner
> <lukas at wunner.de>; luigi burdo <intermediadc at hotmail.com>; Al
> <al at datazap.net>; Roland <rol7and at gmx.com>; Hongxing Zhu
> <hongxing.zhu at nxp.com>; hypexed at yahoo.com.au;
> linuxppc-dev at lists.ozlabs.org; debian-powerpc at lists.debian.org;
> linux-kernel at vger.kernel.org; Bjorn Helgaas <bhelgaas at google.com>
> Subject: [PATCH 0/2] PCI/ASPM: Allow quirks to avoid L0s and L1
> 
> From: Bjorn Helgaas <bhelgaas at google.com>
> 
> We enabled ASPM too aggressively in v6.18-rc1.  f3ac2ff14834 ("PCI/ASPM:
> Enable all ClockPM and ASPM states for devicetree platforms") enabled
> ASPM L0s, L1, and (if advertised) L1 PM Substates.
> 
> L1 PM Substates and Clock PM in particular are a problem because they
> depend on CLKREQ# and sometimes device-specific configuration, and none
> of this is discoverable in a generic way.
> 
> df5192d9bb0e ("PCI/ASPM: Enable only L0s and L1 for devicetree platforms")
> (v6.18-rc3) backed off and omitted Clock PM and L1 Substates.
> 
> L0s and L1 are generically discoverable, but some devices advertise them
> even though they don't work correctly.  This series is a way to avoid L0s and
> L1 in that case.
> 
> Bjorn Helgaas (2):
>   PCI/ASPM: Cache Link Capabilities so quirks can override them
>   PCI/ASPM: Avoid L0s and L1 on Freescale Root Ports

Tested-by: Richard Zhu <hongxing.zhu at nxp.com>

Best Regards
Richard Zhu

> 
>  drivers/pci/pcie/aspm.c | 42 ++++++++++++++++++++---------------------
>  drivers/pci/probe.c     |  5 ++---
>  drivers/pci/quirks.c    | 12 ++++++++++++
>  include/linux/pci.h     |  1 +
>  4 files changed, 36 insertions(+), 24 deletions(-)
> 
> --
> 2.43.0



More information about the Linuxppc-dev mailing list