From: "Marek Behún" <kabel@kernel.org>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Pali Rohár" <pali@kernel.org>,
"Gregory CLEMENT" <gregory.clement@bootlin.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
Date: Wed, 2 Mar 2022 14:25:22 +0100 [thread overview]
Message-ID: <20220302142522.029932c9@dellmb> (raw)
In-Reply-To: <20220302141515.51340cab@dellmb>
On Wed, 2 Mar 2022 14:15:15 +0100
Marek Behún <kabel@kernel.org> wrote:
> On Wed, 2 Mar 2022 14:06:01 +0100
> Andrew Lunn <andrew@lunn.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.
To explain more:
- the first patch added the ranges property fixup. After that patch
(which was applied sometime not long after 8th April 2020) U-Boot
fixes the ranges property in a way that does not work with the
proposed DT change.
- the second patch extended the fixup, but it still won't work
correctly with the proposed DT change
- the third U-Boot patch will fix this issue, afterwards the DT change
won't break PCIe. This patch is not yet merged in U-Boot
It is questionable how many users have updated U-Boot to the version
with first fixup. AFAIK we at Turris did not make an automatic update
for U-Boot yet for Turris MOX, it was done manually only for some
boards that had some problems or users wanted certain features.
But we can't change the device-tree because it will break the
functinality for some users.
What we could do is add another patch to U-Boot that would change IO
window address if certain conditions are met (for example if the ranges
proprety was not changed by the user and thus contains a specific
value that can be checked for).
Marek
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: "Marek Behún" <kabel@kernel.org>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Pali Rohár" <pali@kernel.org>,
"Gregory CLEMENT" <gregory.clement@bootlin.com>,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0
Date: Wed, 2 Mar 2022 14:25:22 +0100 [thread overview]
Message-ID: <20220302142522.029932c9@dellmb> (raw)
In-Reply-To: <20220302141515.51340cab@dellmb>
On Wed, 2 Mar 2022 14:15:15 +0100
Marek Behún <kabel@kernel.org> wrote:
> On Wed, 2 Mar 2022 14:06:01 +0100
> Andrew Lunn <andrew@lunn.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.
To explain more:
- the first patch added the ranges property fixup. After that patch
(which was applied sometime not long after 8th April 2020) U-Boot
fixes the ranges property in a way that does not work with the
proposed DT change.
- the second patch extended the fixup, but it still won't work
correctly with the proposed DT change
- the third U-Boot patch will fix this issue, afterwards the DT change
won't break PCIe. This patch is not yet merged in U-Boot
It is questionable how many users have updated U-Boot to the version
with first fixup. AFAIK we at Turris did not make an automatic update
for U-Boot yet for Turris MOX, it was done manually only for some
boards that had some problems or users wanted certain features.
But we can't change the device-tree because it will break the
functinality for some users.
What we could do is add another patch to U-Boot that would change IO
window address if certain conditions are met (for example if the ranges
proprety was not changed by the user and thus contains a specific
value that can be checked for).
Marek
next prev parent reply other threads:[~2022-03-02 13:26 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-18 21:25 [PATCH] arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0 Pali Rohár
2022-02-18 21:25 ` Pali Rohár
2022-02-19 11:34 ` Marek Behún
2022-02-19 11:34 ` Marek Behún
2022-02-19 21:00 ` Arnd Bergmann
2022-02-19 21:00 ` Arnd Bergmann
2022-02-28 15:41 ` Gregory CLEMENT
2022-02-28 15:41 ` Gregory CLEMENT
2022-02-28 16:42 ` Gregory CLEMENT
2022-02-28 16:42 ` Gregory CLEMENT
2022-03-01 9:25 ` Pali Rohár
2022-03-01 9:25 ` Pali Rohár
2022-03-02 13:06 ` Andrew Lunn
2022-03-02 13:06 ` Andrew Lunn
2022-03-02 13:15 ` Marek Behún
2022-03-02 13:15 ` Marek Behún
2022-03-02 13:25 ` Marek Behún [this message]
2022-03-02 13:25 ` Marek Behún
2022-03-02 13:25 ` Pali Rohár
2022-03-02 13:25 ` Pali Rohár
2022-03-04 12:44 ` Pali Rohár
2022-03-04 12:44 ` Pali Rohár
2022-03-04 16:30 ` [PATCH v2] " Pali Rohár
2022-03-04 16:30 ` Pali Rohár
2022-03-08 11:41 ` Pali Rohár
2022-03-08 11:41 ` Pali Rohár
2022-03-10 10:05 ` Gregory CLEMENT
2022-03-10 10:05 ` Gregory CLEMENT
2022-03-10 10:09 ` Pali Rohár
2022-03-10 10:09 ` Pali Rohár
2022-03-10 10:22 ` Arnd Bergmann
2022-03-10 10:22 ` Arnd Bergmann
2022-03-10 10:41 ` Pali Rohár
2022-03-10 10:41 ` Pali Rohár
2022-03-10 10:23 ` Gregory CLEMENT
2022-03-10 10:23 ` Gregory CLEMENT
2022-03-10 10:47 ` Pali Rohár
2022-03-10 10:47 ` Pali Rohár
2022-03-10 10:39 ` [PATCH v3] " Pali Rohár
2022-03-10 10:39 ` Pali Rohár
2022-03-10 11:51 ` Arnd Bergmann
2022-03-10 11:51 ` Arnd Bergmann
2022-03-10 13:51 ` Gregory CLEMENT
2022-03-10 13:51 ` Gregory CLEMENT
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220302142522.029932c9@dellmb \
--to=kabel@kernel.org \
--cc=andrew@lunn.ch \
--cc=gregory.clement@bootlin.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pali@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.