SiFive FU740 PCI driver fails on 6.18-rc1
Krishna Chaitanya Chundru
krishna.chundru at oss.qualcomm.com
Mon Oct 13 22:20:45 PDT 2025
On 10/14/2025 2:58 AM, Bjorn Helgaas wrote:
> [+cc FU740 driver folks, Conor, regressions]
>
> On Mon, Oct 13, 2025 at 12:14:54AM -0700, Ron Economos wrote:
>> The SiFive FU740 PCI driver fails on the HiFive Unmatched board with Linux
>> 6.18-rc1. The error message is:
>>
>> [ 3.166624] fu740-pcie e00000000.pcie: host bridge /soc/pcie at e00000000
>> ranges:
>> [ 3.166706] fu740-pcie e00000000.pcie: IO
>> 0x0060080000..0x006008ffff -> 0x0060080000
>> [ 3.166767] fu740-pcie e00000000.pcie: MEM
>> 0x0060090000..0x007fffffff -> 0x0060090000
>> [ 3.166805] fu740-pcie e00000000.pcie: MEM
>> 0x2000000000..0x3fffffffff -> 0x2000000000
>> [ 3.166950] fu740-pcie e00000000.pcie: ECAM at [mem
>> 0xdf0000000-0xdffffffff] for [bus 00-ff]
>> [ 3.579500] fu740-pcie e00000000.pcie: No iATU regions found
>> [ 3.579552] fu740-pcie e00000000.pcie: Failed to configure iATU in ECAM
>> mode
>> [ 3.579655] fu740-pcie e00000000.pcie: probe with driver fu740-pcie
>> failed with error -22
>>
>> The normal message (on Linux 6.17.2) is:
>>
>> [ 3.381487] fu740-pcie e00000000.pcie: host bridge /soc/pcie at e00000000
>> ranges:
>> [ 3.381584] fu740-pcie e00000000.pcie: IO
>> 0x0060080000..0x006008ffff -> 0x0060080000
>> [ 3.381682] fu740-pcie e00000000.pcie: MEM
>> 0x0060090000..0x007fffffff -> 0x0060090000
>> [ 3.381724] fu740-pcie e00000000.pcie: MEM
>> 0x2000000000..0x3fffffffff -> 0x2000000000
>> [ 3.484809] fu740-pcie e00000000.pcie: iATU: unroll T, 8 ob, 8 ib, align
>> 4K, limit 4096G
>> [ 3.683678] fu740-pcie e00000000.pcie: PCIe Gen.1 x8 link up
>> [ 3.883674] fu740-pcie e00000000.pcie: PCIe Gen.3 x8 link up
>> [ 3.987678] fu740-pcie e00000000.pcie: PCIe Gen.3 x8 link up
>> [ 3.988164] fu740-pcie e00000000.pcie: PCI host bridge to bus 0000:00
>>
>> Reverting the following commits solves the issue.
>>
>> 0da48c5b2fa731b21bc523c82d927399a1e508b0 PCI: dwc: Support ECAM mechanism by
>> enabling iATU 'CFG Shift Feature'
>>
>> 4660e50cf81800f82eeecf743ad1e3e97ab72190 PCI: qcom: Prepare for the DWC ECAM
>> enablement
>>
>> f6fd357f7afbeb34a633e5688a23b9d7eb49d558 PCI: dwc: Prepare the driver for
>> enabling ECAM mechanism using iATU 'CFG Shift Feature'
>
> As Conor pointed out, we can't fix a code regression with a DT change.
>
> #regzbot introduced: f6fd357f7afb ("PCI: dwc: Prepare the driver for enabling ECAM mechanism using iATU 'CFG Shift Feature'")
Hi Conor,
Can you try with this patch and see if it is fixing the issue.
diff --git a/drivers/pci/controller/dwc/pcie-fu740.c
b/drivers/pci/controller/dwc/pcie-fu740.c
index 66367252032b..b5e0f016a580 100644
--- a/drivers/pci/controller/dwc/pcie-fu740.c
+++ b/drivers/pci/controller/dwc/pcie-fu740.c
@@ -328,6 +328,8 @@ static int fu740_pcie_probe(struct platform_device
*pdev)
platform_set_drvdata(pdev, afp);
+ pci->pp.native_ecam = true;
+
return dw_pcie_host_init(&pci->pp);
}
- Krishna Chaitanya.
>
More information about the linux-riscv
mailing list