linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
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

  reply	other threads:[~2022-03-02 13:26 UTC|newest]

Thread overview: 22+ 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-19 11:34 ` Marek Behún
2022-02-19 21:00   ` Arnd Bergmann
2022-02-28 15:41 ` Gregory CLEMENT
2022-02-28 16:42   ` Gregory CLEMENT
2022-03-01  9:25     ` Pali Rohár
2022-03-02 13:06       ` Andrew Lunn
2022-03-02 13:15         ` Marek Behún
2022-03-02 13:25           ` Marek Behún [this message]
2022-03-02 13:25         ` Pali Rohár
2022-03-04 12:44     ` Pali Rohár
2022-03-04 16:30 ` [PATCH v2] " Pali Rohár
2022-03-08 11:41   ` Pali Rohár
2022-03-10 10:05   ` Gregory CLEMENT
2022-03-10 10:09     ` Pali Rohár
2022-03-10 10:22       ` Arnd Bergmann
2022-03-10 10:41         ` Pali Rohár
2022-03-10 10:23       ` Gregory CLEMENT
2022-03-10 10:47         ` Pali Rohár
2022-03-10 10:39 ` [PATCH v3] " Pali Rohár
2022-03-10 11:51   ` Arnd Bergmann
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).