[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220302141515.51340cab@dellmb>
Date: Wed, 2 Mar 2022 14:15:15 +0100
From: Marek Behún <kabel@...nel.org>
To: Andrew Lunn <andrew@...n.ch>
Cc: Pali Rohár <pali@...nel.org>,
Gregory CLEMENT <gregory.clement@...tlin.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] arm64: dts: marvell: armada-37xx: Remap IO space to bus
address 0x0
On Wed, 2 Mar 2022 14:06:01 +0100
Andrew Lunn <andrew@...n.ch> wrote:
> On Tue, Mar 01, 2022 at 10:25:39AM +0100, Pali Rohár wrote:
> > On Monday 28 February 2022 17:42:03 Gregory CLEMENT wrote:
> > > > Hello Pali,
> > > >
> > > >> Remap PCI I/O space to the bus address 0x0 in the Armada 37xx
> > > >> device-tree in order to support legacy I/O port based cards which have
> > > >> hardcoded I/O ports in low address space.
> > > >>
> > > >> Some legacy PCI I/O based cards do not support 32-bit I/O addressing.
> > > >>
> > > >> Since commit 64f160e19e92 ("PCI: aardvark: Configure PCIe resources from
> > > >> 'ranges' DT property") this driver can work with I/O windows which
> > > >> have
> > > >
> > > > Should we add a "Fixes: 64f160e19e92 ("PCI: aardvark: Configure PCIe
> > > > resources from 'ranges' DT property")" tag ?
> > >
> > > Waiting for your confirmation I tried to applied it but it failed.
> > >
> > > Did you base this patch on v5.17-rc1 ?
> > >
> > > Gregory
> >
> > Hello! This change is breaking booting of Turris Mox kernel with older
> > bootloader due to bugs in bootloader.
>
> Do you know what actually goes wrong?
>
> I've not been involved in the discussion, but looking at the comments
> above, not changing the space can result in non-working cards. So it
> does sound like something which in general we want to do. Does the
> current code assume the bootloader has initialized some registers with
> specific values? Can that be moved into the driver so it also works
> with older bootloaders?
No. TF-A may remap CPU PCIe window, and so U-Boot fixes these addresses
in device-tree. But the fixup function was at first written in such a
way that it assumes that the ranges propreties contains specific
values. The proposed DT change, together with the fixup function in
older U-Boot, will break ranges property to non-functional state.
See corresponding U-Boot patches
https://patchwork.ozlabs.org/project/uboot/patch/20200408172522.18941-5-marek.behun@nic.cz/
https://patchwork.ozlabs.org/project/uboot/patch/20210526155940.26141-5-pali@kernel.org/
https://patchwork.ozlabs.org/project/uboot/patch/20220223125232.7974-1-kabel@kernel.org/
The last patch is not merged yet.
Marek
Powered by blists - more mailing lists