[PATCH net-next 0/8] net: dsa: b53: add support for BCM5389/97/98 and BCM63XX ARL formats

Jonas Gorski posted 8 patches 1 month, 1 week ago
drivers/net/dsa/b53/b53_common.c | 316 +++++++++++++++++++++----------
drivers/net/dsa/b53/b53_priv.h   |  71 +++++++
drivers/net/dsa/b53/b53_regs.h   |  22 +++
3 files changed, 312 insertions(+), 97 deletions(-)
[PATCH net-next 0/8] net: dsa: b53: add support for BCM5389/97/98 and BCM63XX ARL formats
Posted by Jonas Gorski 1 month, 1 week ago
Currently b53 assumes that all switches apart from BCM5325/5365 use the
same ARL formats, but there are actually multiple formats in use.

Older switches use a format apparently introduced with BCM5387/BCM5389,
while newer chips use a format apparently introduced with BCM5395.

Note that these numbers are not linear, BCM5397/BCM5398 use the older
format.

In addition to that the switches integrated into BCM63XX SoCs use their
own format. While accessing these normal read/write ARL entries are the
same format as BCM5389 one, the search format is different.

So in order to support all these different format, split all code
accessing these entries into chip-family specific functions, and collect
them in appropriate arl ops structs to keep the code cleaner.

Sent as net-next since the ARL accesses have never worked before, and
the extensive refactoring might be too much to warrant a fix.

Jonas Gorski (8):
  net: dsa: b53: b53_arl_read{,25}(): use the entry for comparision
  net: dsa: b53: move reading ARL entries into their own function
  net: dsa: b53: move writing ARL entries into their own functions
  net: dsa: b53: provide accessors for accessing ARL_SRCH_CTL
  net: dsa: b53: split reading search entry into their own functions
  net: dsa: b53: move ARL entry functions into ops struct
  net: dsa: b53: add support for 5389/5397/5398 ARL entry format
  net: dsa: b53: add support for bcm63xx ARL entry format

 drivers/net/dsa/b53/b53_common.c | 316 +++++++++++++++++++++----------
 drivers/net/dsa/b53/b53_priv.h   |  71 +++++++
 drivers/net/dsa/b53/b53_regs.h   |  22 +++
 3 files changed, 312 insertions(+), 97 deletions(-)


base-commit: 6fc33710cd6c55397e606eeb544bdf56ee87aae5
-- 
2.43.0
Re: [PATCH net-next 0/8] net: dsa: b53: add support for BCM5389/97/98 and BCM63XX ARL formats
Posted by Florian Fainelli 1 month, 1 week ago

On 11/7/2025 12:07 AM, Jonas Gorski wrote:
> Currently b53 assumes that all switches apart from BCM5325/5365 use the
> same ARL formats, but there are actually multiple formats in use.
> 
> Older switches use a format apparently introduced with BCM5387/BCM5389,
> while newer chips use a format apparently introduced with BCM5395.
> 
> Note that these numbers are not linear, BCM5397/BCM5398 use the older
> format.
> 
> In addition to that the switches integrated into BCM63XX SoCs use their
> own format. While accessing these normal read/write ARL entries are the
> same format as BCM5389 one, the search format is different.
> 
> So in order to support all these different format, split all code
> accessing these entries into chip-family specific functions, and collect
> them in appropriate arl ops structs to keep the code cleaner.
> 
> Sent as net-next since the ARL accesses have never worked before, and
> the extensive refactoring might be too much to warrant a fix.

That seems entirely appropriate, thanks, I checked the 54389 and 63XX 
datasheets and your patches match, thank you!
-- 
Florian