diff mbox series

ARM: dts: turris-omnia: fix hardware buffer management

Message ID 20210217153038.1068170-1-rsalvaterra@gmail.com (mailing list archive)
State New, archived
Headers show
Series ARM: dts: turris-omnia: fix hardware buffer management | expand

Commit Message

Rui Salvaterra Feb. 17, 2021, 3:30 p.m. UTC
Hardware buffer management has never worked on the Turris Omnia, as the
required MBus window hadn't been reserved. Fix thusly.

Fixes: 018b88eee1a2 ("ARM: dts: turris-omnia: enable HW buffer management")

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
---
 arch/arm/boot/dts/armada-385-turris-omnia.dts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Marek Behún Feb. 17, 2021, 3:42 p.m. UTC | #1
/o\ How did I manage to miss this?

Please wait a few minutes I am just going to do a fast compile and test.

Marek
Rui Salvaterra Feb. 17, 2021, 3:44 p.m. UTC | #2
Hi, Marek,

On Wed, 17 Feb 2021 at 15:42, Marek Behún <kabel@kernel.org> wrote:
>
> /o\ How did I manage to miss this?

Heh… it happens. :)

> Please wait a few minutes I am just going to do a fast compile and test.

No worries. I'm going to cook a backport for OpenWrt.

Cheers,
Rui
Marek Behún Feb. 17, 2021, 4:02 p.m. UTC | #3
On Wed, 17 Feb 2021 15:30:38 +0000
Rui Salvaterra <rsalvaterra@gmail.com> wrote:

> Hardware buffer management has never worked on the Turris Omnia, as the
> required MBus window hadn't been reserved. Fix thusly.
> 
> Fixes: 018b88eee1a2 ("ARM: dts: turris-omnia: enable HW buffer management")
> 
> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

Reviewed-by: Marek Behún <kabel@kernel.org>
Marek Behún Feb. 17, 2021, 4:10 p.m. UTC | #4
Rui, in the future make the subject prefix
  [PATCH mvebu-dt]
or
  [PATCH mvebu/dt]

so that Gregory knows its for him and for which branch.

Marek
Rui Salvaterra Feb. 17, 2021, 4:12 p.m. UTC | #5
Hi again, Marek,

On Wed, 17 Feb 2021 at 16:10, Marek Behún <kabel@kernel.org> wrote:
>
> Rui, in the future make the subject prefix
>   [PATCH mvebu-dt]
> or
>   [PATCH mvebu/dt]
>
> so that Gregory knows its for him and for which branch.

Thanks, will do!

Cheers,
Rui
Andrew Lunn Feb. 17, 2021, 4:22 p.m. UTC | #6
On Wed, Feb 17, 2021 at 03:30:38PM +0000, Rui Salvaterra wrote:
> Hardware buffer management has never worked on the Turris Omnia, as the
> required MBus window hadn't been reserved. Fix thusly.

Hi Rui

I don't know all the details for the MBus Windows...

Can this be set once in armada-385.dtsi ?

Did you check the other dts files. Do any others have the same
problem?

    Andrew
Marek Behún Feb. 17, 2021, 4:27 p.m. UTC | #7
On Wed, 17 Feb 2021 17:22:17 +0100
Andrew Lunn <andrew@lunn.ch> wrote:

> On Wed, Feb 17, 2021 at 03:30:38PM +0000, Rui Salvaterra wrote:
> > Hardware buffer management has never worked on the Turris Omnia, as the
> > required MBus window hadn't been reserved. Fix thusly.  
> 
> Hi Rui
> 
> I don't know all the details for the MBus Windows...
> 
> Can this be set once in armada-385.dtsi ?
> 
> Did you check the other dts files. Do any others have the same
> problem?
> 
>     Andrew

armada-38x.dtsi defines only
  ranges = <0 MBUS_ID(0xf0, 0x01) 0 0x100000>;
for internal-regs.

It probably depends on how the mbus driver works.
If the mbus driver maps every window defined in ranges, regardless
whether they are used, then we do not want to put all windows in .dtsi
file.

Marek
Rui Salvaterra Feb. 17, 2021, 4:31 p.m. UTC | #8
Hi, Andrew,

On Wed, 17 Feb 2021 at 16:22, Andrew Lunn <andrew@lunn.ch> wrote:
>
> Hi Rui
>
> I don't know all the details for the MBus Windows...

Neither do I, I just followed the examples in other device trees
(namely armada-385-linksys.dtsi). I wanted to get hardware buffer
management working on my Omnia, in OpenWrt, so I started digging. :)

> Can this be set once in armada-385.dtsi ?

If all SoCs support it, I don't see why not. However, I have to defer
to someone with experience on these systems.

> Did you check the other dts files. Do any others have the same
> problem?

I did a cursory grep, yes. I see a lot of .dts files with the correct
declaration, so probably aren't that many missing (if any at all,
anymore).

Thanks,
Rui
Klaus Kudielka March 15, 2021, 6:08 p.m. UTC | #9
On 17.02.21 16:30, Rui Salvaterra wrote:
> Hardware buffer management has never worked on the Turris Omnia, as the
> required MBus window hadn't been reserved. Fix thusly.
>
> Fixes: 018b88eee1a2 ("ARM: dts: turris-omnia: enable HW buffer management")
>
> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

Tested-by: Klaus Kudielka <klaus.kudielka@gmail.com>

(Without this patch, I get a bunch of error messages during 5.11 boot)
Gregory CLEMENT April 2, 2021, 8:13 p.m. UTC | #10
Hi Rui,

> Hardware buffer management has never worked on the Turris Omnia, as the
> required MBus window hadn't been reserved. Fix thusly.
>
> Fixes: 018b88eee1a2 ("ARM: dts: turris-omnia: enable HW buffer management")
>
> Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>

Applied on mvebu/fixes

Thanks,

Gregory

> ---
>  arch/arm/boot/dts/armada-385-turris-omnia.dts | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> index 646a06420c77..dc80a909ea88 100644
> --- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
> +++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
> @@ -32,7 +32,8 @@ soc {
>  		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
>  			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
>  			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
> -			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000>;
> +			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
> +			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
>  
>  		internal-regs {
>  
> -- 
> 2.30.1
>
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/armada-385-turris-omnia.dts b/arch/arm/boot/dts/armada-385-turris-omnia.dts
index 646a06420c77..dc80a909ea88 100644
--- a/arch/arm/boot/dts/armada-385-turris-omnia.dts
+++ b/arch/arm/boot/dts/armada-385-turris-omnia.dts
@@ -32,7 +32,8 @@  soc {
 		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000
 			  MBUS_ID(0x01, 0x1d) 0 0xfff00000 0x100000
 			  MBUS_ID(0x09, 0x19) 0 0xf1100000 0x10000
-			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000>;
+			  MBUS_ID(0x09, 0x15) 0 0xf1110000 0x10000
+			  MBUS_ID(0x0c, 0x04) 0 0xf1200000 0x100000>;
 
 		internal-regs {