Thread (149 messages) 149 messages, 20 authors, 2025-11-13

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

From: Herve Codina <herve.codina@bootlin.com>
Date: 2025-10-23 07:38:52
Also in: linux-pci

Hi Manivannan,

On Wed, 15 Oct 2025 18:20:22 +0530
Manivannan Sadhasivam [off-list ref] wrote:
Hi Herve,

On Wed, Oct 15, 2025 at 01:58:11PM +0200, Herve Codina wrote:
quoted
Hi Christian,

On Wed, 15 Oct 2025 13:30:44 +0200
Christian Zigotzky [off-list ref] wrote:
  
quoted
Hello Herve,
  
quoted
On 15 October 2025 at 10:39 am, Herve Codina [off-list ref] 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.
  
quoted
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é
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help