[PPC] Boot problems after the pci-v6.18-changes

Manivannan Sadhasivam mani at kernel.org
Sun Nov 2 04:06:49 AEDT 2025


On Sat, Nov 01, 2025 at 08:59:37AM +0100, Christian Zigotzky wrote:
> 
> Bjorn Helgaas <helgaas at kernel.org> wrote:
> 
> Oops, I made that fixup run too late.  Instead of the patch above, can
> you test the one below?
> 
> You'll likely see something like this, which is a little misleading
> because even though we claim "default L1" for 01:00.0 (or whatever
> your Radeon is), the fact that L0s and L1 are disabled at the other
> end of the link (00:00.0) should prevent us from actually enabling it:
> 
> pci 0000:00:00.0: Disabling ASPM L0s/L1
> pci 0000:01:00.0: ASPM: default states L1
> 
> diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> index 214ed060ca1b..27777ded9a2c 100644
> --- a/drivers/pci/quirks.c
> +++ b/drivers/pci/quirks.c
> @@ -2524,6 +2524,7 @@ static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev)
> * disable both L0s and L1 for now to be safe.
> */
> DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1);
> +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_FREESCALE, 0x0451, quirk_disable_aspm_l0s_l1);
> 
> /*
> * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain
> 
>> 
> Hi Bjorn,
> 
> Thanks for your patch. I patched the RC3 of kernel 6.18 with your new patch and compiled it again. Unfortunately the FSL Cyrus+ board doesn't boot with your new patch.
> 
> Sorry,
> 
> Christian
> 
> --
> Sent with BrassMonkey 33.9.1 (https://github.com/chzigotzky/Web-Browsers-and-Suites-for-Linux-PPC/releases/tag/BrassMonkey_33.9.1)
> 
> —-
> 
> What about with 
> 
> +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ATI, PCI_ANY_ID, quirk_disable_aspm_l0s_l1);
> 

The issue is most likely with your Root Port rather than with the Radeon device.
So the quirk for Radeon won't fix the issue properly as it will affect other
host systems as well.

I guess Bjorn's change didn't help because the fixup ran before
pcie_aspm_init_link_state(). So even though the fixup disabled the ASPM link
state for Root Port, it got enabled by the default ASPM states enabled in
pcie_aspm_init_link_state().

Can you try doing fixup final as below?

```
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index d97335a40193..74d8596b3f62 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -2524,6 +2524,7 @@ static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev)
  * disable both L0s and L1 for now to be safe.
  */
 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1);
+DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_FREESCALE, 0x0451, quirk_disable_aspm_l0s_l1);
 
 /*
  * Some Pericom PCIe-to-PCI bridges in reverse mode need the PCIe Retrain
```

Sorry, I guess we are asking for too many experiments to be done which might be
of trouble for you. But without direct access to the device, we had to do these
:(

Thanks for your help in debugging.

- Mani

-- 
மணிவண்ணன் சதாசிவம்


More information about the Linuxppc-dev mailing list