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

From: Herve Codina <[email-masked]>
Date: Thu, 23 Oct 2025 09:38:13 +0200

Hi Manivannan,

On Wed, 15 Oct 2025 18:20:22 +0530
Manivannan Sadhasivam <[email-masked]> wrote:

> Hi Herve,
> 
> On Wed, Oct 15, 2025 at 01:58:11PM +0200, Herve Codina wrote:
> > Hi Christian,
> > 
> > On Wed, 15 Oct 2025 13:30:44 +0200
> > Christian Zigotzky <[email-masked]> wrote:
> >   
> > > Hello Herve,
> > >   
> > > > On 15 October 2025 at 10:39 am, Herve Codina <[email-masked]> wrote:
> > > > 
> > > > Hi All,
> > > > 
> > > > I also observed issues with the commit f3ac2ff14834 ("PCI/ASPM: Enable all
> > > > ClockPM and ASPM states for devicetree platforms")    
> > > 
> > > Thanks for reporting.
> > >   
> > > > 
> > > > Also tried the quirk proposed in this discussion (quirk_disable_aspm_all)
> > > > an the quirk also fixes the timing issue.    
> > > 
> > > Where have you added quirk_disable_aspm_all?  
> > 
> > --- 8< ---
> > diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
> > index 214ed060ca1b..a3808ab6e92e 100644
> > --- a/drivers/pci/quirks.c
> > +++ b/drivers/pci/quirks.c
> > @@ -2525,6 +2525,17 @@ static void quirk_disable_aspm_l0s_l1(struct pci_dev *dev)
> >   */
> >  DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_ASMEDIA, 0x1080, quirk_disable_aspm_l0s_l1);
> >  
> > +static void quirk_disable_aspm_all(struct pci_dev *dev)
> > +{
> > +       pci_info(dev, "Disabling ASPM\n");
> > +       pci_disable_link_state(dev, PCIE_LINK_STATE_ALL);  
> 
> Could you please try disabling L1SS and L0s separately to see which one is
> causing the issue? Like,
> 
> 	pci_disable_link_state(dev, PCIE_LINK_STATE_L1_1 | PCIE_LINK_STATE_L1_2);
> 
> 	pci_disable_link_state(dev, PCIE_LINK_STATE_L0S);
> 

I did tests and here are the results:

  - quirk pci_disable_link_state(dev, PCIE_LINK_STATE_ALL)
    Issue not present

  - quirk pci_disable_link_state(dev, PCIE_LINK_STATE_L1_1 | PCIE_LINK_STATE_L1_2)
    Issue present, timings similar to timings already reported
    (hundreds of ms).

  - quirk pci_disable_link_state(dev, PCIE_LINK_STATE_L0S);
    Issue present, timings still incorrect but lower
      64 bytes from 192.168.32.100: seq=10 ttl=64 time=16.738 ms
      64 bytes from 192.168.32.100: seq=11 ttl=64 time=39.500 ms
      64 bytes from 192.168.32.100: seq=12 ttl=64 time=62.178 ms
      64 bytes from 192.168.32.100: seq=13 ttl=64 time=84.709 ms
      64 bytes from 192.168.32.100: seq=14 ttl=64 time=107.484 ms

  - quirk pci_disable_link_state(dev, PCIE_LINK_STATE_CLKPM)
    Issue present, timings similar to timings already reported
    (hundreds of ms).

  - No quirk, echo performance > /sys/module/pcie_aspm/parameters/policy
    Issue fixed

  - No quirk, CONFIG_PCIEASPM = n
    Issue fixed (obviously)

Hope those results will help on the topic.

Best regards,
Hervé