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)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.