[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251013212801.GA865570@bhelgaas>
Date: Mon, 13 Oct 2025 16:28:01 -0500
From: Bjorn Helgaas <helgaas@...nel.org>
To: Ron Economos <re@...z.net>
Cc: bhelgaas@...gle.com, rishna.chundru@....qualcomm.com, mani@...nel.org,
helgaas@...nel.org, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-riscv <linux-riscv@...ts.infradead.org>,
Paul Walmsley <pjw@...nel.org>,
Greentime Hu <greentime.hu@...ive.com>,
Samuel Holland <samuel.holland@...ive.com>,
Conor Dooley <conor@...nel.org>, regressions@...ts.linux.dev
Subject: Re: SiFive FU740 PCI driver fails on 6.18-rc1
[+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@...000000
> 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@...000000
> 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'")
Powered by blists - more mailing lists