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

Christian Zigotzky chzigotzky at xenosoft.de
Tue Nov 4 05:28:19 AEDT 2025


On 11/01/2025 06:06 PM, Manivannan Sadhasivam wrote:
 > 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
 >

I tested your patch with the RC4 of kernel 6.18 today. Unfortunately it 
doesn't solve the boot issue.

- Christian

-- 
Sent with BrassMonkey 33.9.1 
(https://github.com/chzigotzky/Web-Browsers-and-Suites-for-Linux-PPC/releases/tag/BrassMonkey_33.9.1)


More information about the Linuxppc-dev mailing list