[PATCH 1/4] PCI: dwc: Advertise L1 PM Substates only if driver requests it
Bjorn Helgaas
helgaas at kernel.org
Tue Nov 11 15:07:10 PST 2025
On Tue, Nov 11, 2025 at 05:48:07PM -0500, Frank Li wrote:
> On Tue, Nov 11, 2025 at 04:16:08PM -0600, Bjorn Helgaas wrote:
> > From: Bjorn Helgaas <bhelgaas at google.com>
> >
> > L1 PM Substates require the CLKREF# signal and may also require
> > device-specific support. If CLKREF# is not supported or driver support is
> > lacking, enabling L1.1 or L1.2 may cause errors when accessing devices,
> > e.g.,
> >
> > nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0x10
> >
> > If the kernel is built with CONFIG_PCIEASPM_POWER_SUPERSAVE=y or users
> > enable L1.x via sysfs, users may trip over these errors even if L1
> > Substates haven't been enabled by firmware or the driver.
> >
> > To prevent such errors, disable advertising the L1 PM Substates unless the
> > driver sets "dw_pcie.l1ss_support" to indicate that it knows CLKREF# is
> > present and any device-specific configuration has been done.
> >
> > Set "dw_pcie.l1ss_support" in tegra194 (if DT includes the
> > "supports-clkreq' property) and qcom (for 2.7.0 controllers) so they can
> > continue to use L1 Substates.
> >
> > Based on Niklas's patch:
> > https://patch.msgid.link/20251017163252.598812-2-cassel@kernel.org
> >
> > Signed-off-by: Bjorn Helgaas <bhelgaas at google.com>
> > ---
> > .../pci/controller/dwc/pcie-designware-ep.c | 2 ++
> > .../pci/controller/dwc/pcie-designware-host.c | 2 ++
> > drivers/pci/controller/dwc/pcie-designware.c | 24 +++++++++++++++++++
> > drivers/pci/controller/dwc/pcie-designware.h | 2 ++
> > drivers/pci/controller/dwc/pcie-qcom.c | 2 ++
> > drivers/pci/controller/dwc/pcie-tegra194.c | 3 +++
> > 6 files changed, 35 insertions(+)
> >
> ...
> >
> > +void dw_pcie_config_l1ss(struct dw_pcie *pci)
> > +{
> > + u16 l1ss;
> > + u32 l1ss_cap;
> > +
> > + if (!pci->l1ss_support)
>
> I think when l1ss_support true, need return.
> when l1ss_support false, need clean PCI_L1SS_CAP.
>
> Do your logic reverise?
Yes! Thank you, fixed locally.
More information about the Linux-rockchip
mailing list