[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.2512021246470.49654@angie.orcam.me.uk>
Date: Tue, 2 Dec 2025 13:39:14 +0000 (GMT)
From: "Maciej W. Rozycki" <macro@...am.me.uk>
To: Manivannan Sadhasivam <mani@...nel.org>
cc: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>,
Jingoo Han <jingoohan1@...il.com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof WilczyĆski <kwilczynski@...nel.org>,
Rob Herring <robh@...nel.org>, Bjorn Helgaas <bhelgaas@...gle.com>,
Krzysztof Kozlowski <krzk@...nel.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
Jonathan Chocron <jonnyc@...zon.com>, linux-pci@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-samsung-soc@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org
Subject: Re: [PATCH v9 4/4] PCI: dwc: Support ECAM mechanism by enabling iATU
'CFG Shift Feature'
On Tue, 2 Dec 2025, Manivannan Sadhasivam wrote:
> > No change in behaviour, sorry. I suppose it's this range of host address
> > decoding:
> >
> > fu740-pcie e00000000.pcie: IO 0x0060080000..0x006008ffff -> 0x0060080000
> >
> > aka:
> >
> > pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x60080000-0x6008ffff])
> >
> > that you're after. Are you sure your code discovers it correctly? As I
> > say I can only see IORESOURCE_MEM references and no IORESOURCE_IO ones as
> > would be appropriate for the root bus resource quoted.
>
> The I/O resource is discovered by the driver correctly as seen from the logs:
>
> pci_bus 0000:00: root bus resource [io 0x0000-0xffff] (bus address [0x60080000-0x6008ffff])
> pci_bus 0000:00: root bus resource [mem 0x60090000-0x7fffffff]
> pci_bus 0000:00: root bus resource [mem 0x2000000000-0x3fffffffff pref]
>
> But we believe that the iATU is not programmed for the I/O port, resulting in
> the I/O access not going out to the device.
>
> Krishna found an issue in the previous patch that got shared. So I've attached a
> new one. Could you please try and let us know? If it didn't help, please share
> the dmesg log that will have some more info.
This does work correctly, thank you; see the log diff below (I checked
the defxx driver separately too). Please make a proper submission and
I'll give it a Tested-by: tag after final verification against 6.18.
--- dmesg-bad.log 2025-11-28 03:47:29.582049781 +0100
+++ dmesg-fixed.log 2025-12-02 13:58:56.627947450 +0100
@@ -1,5 +1,5 @@
-Booting Linux on hartid 1
-Linux version 6.17.0-rc1-00009-g0da48c5b2fa7-dirty (macro@...ie) (riscv64-linux-gnu-gcc (GCC) 13.0.0 20220602 (experimental), GNU ld (GNU Binutils) 2.38.50.20220503) #20 SMP Fri Nov 28 02:43:00 GMT 2025
+Booting Linux on hartid 4
+Linux version 6.17.0-rc1-00009-g0da48c5b2fa7-dirty (macro@...ie) (riscv64-linux-gnu-gcc (GCC) 13.0.0 20220602 (experimental), GNU ld (GNU Binutils) 2.38.50.20220503) #32 SMP Tue Dec 2 12:46:23 GMT 2025
Machine model: SiFive HiFive Unmatched A00
SBI specification v0.3 detected
SBI implementation ID=0x1 Version=0x9
@@ -164,6 +164,9 @@
fu740-pcie e00000000.pcie: ECAM at [mem 0xdf0000000-0xdffffffff] for [bus 00-ff]
fu740-pcie e00000000.pcie: Using 256 MSI vectors
fu740-pcie e00000000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4096G
+fu740-pcie e00000000.pcie: dw_pcie_iatu_setup: 921 MEM index: 2
+fu740-pcie e00000000.pcie: dw_pcie_iatu_setup: 941 I/O index: 3
+fu740-pcie e00000000.pcie: dw_pcie_iatu_setup: 949 Final index: 4
fu740-pcie e00000000.pcie: cap_exp at 70
fu740-pcie e00000000.pcie: PCIe Gen.1 x8 link up
fu740-pcie e00000000.pcie: changing speed back to original
@@ -736,6 +739,8 @@
pcieport 0000:06:01.0: enabling bus mastering
parport_pc 0000:07:00.0: enabling device (0000 -> 0001)
PCI parallel port detected: 1415:c118, I/O at 0x1000(0x1008), IRQ 35
+parport0: PC-style at 0x1000 (0x1008), irq 35, using FIFO [PCSPP,TRISTATE,EPP,ECP]
+lp0: using parport0 (interrupt-driven).
parport_pc 0000:07:00.0: vgaarb: pci_notify
serial 0000:07:00.3: vgaarb: pci_notify
serial 0000:07:00.3: assign IRQ: got 40
Maciej
Powered by blists - more mailing lists