]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
PCI: qcom: Disable ASPM L0s for SA8775P
authorShawn Guo <shengchao.guo@oss.qualcomm.com>
Sun, 19 Apr 2026 09:39:34 +0000 (17:39 +0800)
committerManivannan Sadhasivam <mani@kernel.org>
Thu, 28 May 2026 12:19:00 +0000 (14:19 +0200)
Due to a hardware issue, L0s is not properly supported by the PCIe
controller on the SA8775p SoC. If enabled, the L0s to L0 transition
triggers below correctable AER errors and may also affect link stability:

  pcieport 0000:00:00.0: PME: Signaling with IRQ 332
  pcieport 0000:00:00.0: AER: enabled with IRQ 332
  pcieport 0000:00:00.0: AER: Correctable error message received from 0000:01:00.0
  pci 0000:01:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID)
  pci 0000:01:00.0:   device [17cb:1103] error status/mask=00001000/0000e000
  pci 0000:01:00.0:    [12] Timeout
  pcieport 0000:00:00.0: AER: Multiple Correctable error message received from 0000:01:00.0
  pcieport 0000:00:00.0: PCIe Bus Error: severity=Correctable, type=Data Link Layer, (Transmitter ID)
  pcieport 0000:00:00.0:   device [17cb:0115] error status/mask=00001000/0000e000
  pcieport 0000:00:00.0:    [12] Timeout

Hence, disable L0s for the SA8775p SoC to allow it to properly function
by sacrificing a little bit of power saving.

Fixes: 58d0d3e032b3 ("PCI: qcom-ep: Add support for SA8775P SOC")
Assisted-by: Claude:claude-4-6-sonnet
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
[mani: commit log, corrected fixes tag]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20260419093934.1223027-1-shengchao.guo@oss.qualcomm.com
drivers/pci/controller/dwc/pcie-qcom.c

index 65688e28f10d367d25ebcdd8f8dc7fa0e84cd586..8cf0a27d166b9a274676257fd2ccb56c347e892f 100644 (file)
@@ -1563,6 +1563,7 @@ static const struct qcom_pcie_cfg cfg_1_9_0 = {
 static const struct qcom_pcie_cfg cfg_1_34_0 = {
        .ops = &ops_1_9_0,
        .override_no_snoop = true,
+       .no_l0s = true,
 };
 
 static const struct qcom_pcie_cfg cfg_2_1_0 = {