]> git.dujemihanovic.xyz Git - u-boot.git/commit
arm: mach-k3: am6_init: Prioritize MSMC traffic over DDR in NAVSS Northbridge
authorRoger Quadros <rogerq@ti.com>
Wed, 8 Sep 2021 20:28:59 +0000 (15:28 -0500)
committerTom Rini <trini@konsulko.com>
Fri, 17 Sep 2021 18:47:03 +0000 (14:47 -0400)
commit6887f8e00b821a3af02da207c85ba61c286dcc3c
tree2eee2ab4fd81d50d0a8ae8c270216b5e4985852d
parentcfd50dfb729ab2268a5a44eaeea00ffa557919cd
arm: mach-k3: am6_init: Prioritize MSMC traffic over DDR in NAVSS Northbridge

NB0 is bridge to SRAM and NB1 is bridge to DDR.

To ensure that SRAM transfers are not stalled due to delays during DDR
refreshes, SRAM traffic should be higher priority (threadmap=2) than
DDR traffic (threadmap=0).

This fixup is critical to provide deterministic access latency to
MSMC from ICSSG, it applies to all AM65 silicon revisions and is due
to incorrect reset values (has no erratum id) and statically setting
things up should be done independent of usecases and board.

This specific style of Northbridge configuration is specific only to
AM65x devices, follow-on K3 devices have different data prioritization
schemes (ASEL and the like) and hence the fixup applies purely to
AM65x.

Without this fix, ICSSG TX lock-ups due to delays in MSMC transfers in
case of SR1 devices, on SR2 devices, lockups were not observed so far
but high retry rates of ICSSG Ethernet (icssg-eth) and, thus, lower
throughput.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Acked-by: Andrew F. Davis <afd@ti.com>
Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Acked-by: Benoit Parrot <bparrot@ti.com>
[Jan: rebased, dropped used define, extended commit log]
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
[Nishanth: Provide relevant context in the commit message]
Signed-off-by: Nishanth Menon<nm@ti.com>
arch/arm/mach-k3/am6_init.c
arch/arm/mach-k3/include/mach/am6_hardware.h