Re: [PPC] Boot problems after the pci-v6.18-changes
Christian Zigotzky <[email protected]>
| Newsgroups | gmane.linux.ports.ppc.embedded,gmane.linux.kernel.pci,gmane.linux.debian.ports.powerpc |
|---|---|
| Organization | A-EON Open Source |
| Message-ID | <[email protected]> |
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 <[email protected]> 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)