public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/8] net: dsa: b53: add support for BCM5389/97/98 and BCM63XX ARL formats
@ 2025-11-07  8:07 Jonas Gorski
  2025-11-07  8:07 ` [PATCH net-next 1/8] net: dsa: b53: b53_arl_read{,25}(): use the entry for comparision Jonas Gorski
                   ` (9 more replies)
  0 siblings, 10 replies; 19+ messages in thread
From: Jonas Gorski @ 2025-11-07  8:07 UTC (permalink / raw)
  To: Florian Fainelli, Andrew Lunn, Vladimir Oltean, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: netdev, linux-kernel

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


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2025-11-11  1:30 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-07  8:07 [PATCH net-next 0/8] net: dsa: b53: add support for BCM5389/97/98 and BCM63XX ARL formats Jonas Gorski
2025-11-07  8:07 ` [PATCH net-next 1/8] net: dsa: b53: b53_arl_read{,25}(): use the entry for comparision Jonas Gorski
2025-11-08  0:39   ` Florian Fainelli
2025-11-07  8:07 ` [PATCH net-next 2/8] net: dsa: b53: move reading ARL entries into their own function Jonas Gorski
2025-11-08  0:40   ` Florian Fainelli
2025-11-07  8:07 ` [PATCH net-next 3/8] net: dsa: b53: move writing ARL entries into their own functions Jonas Gorski
2025-11-08  0:42   ` Florian Fainelli
2025-11-07  8:07 ` [PATCH net-next 4/8] net: dsa: b53: provide accessors for accessing ARL_SRCH_CTL Jonas Gorski
2025-11-08  0:42   ` Florian Fainelli
2025-11-07  8:07 ` [PATCH net-next 5/8] net: dsa: b53: split reading search entry into their own functions Jonas Gorski
2025-11-08  0:43   ` Florian Fainelli
2025-11-07  8:07 ` [PATCH net-next 6/8] net: dsa: b53: move ARL entry functions into ops struct Jonas Gorski
2025-11-08  0:43   ` Florian Fainelli
2025-11-07  8:07 ` [PATCH net-next 7/8] net: dsa: b53: add support for 5389/5397/5398 ARL entry format Jonas Gorski
2025-11-08  1:02   ` Florian Fainelli
2025-11-07  8:07 ` [PATCH net-next 8/8] net: dsa: b53: add support for bcm63xx " Jonas Gorski
2025-11-08  1:05   ` Florian Fainelli
2025-11-08  1:05 ` [PATCH net-next 0/8] net: dsa: b53: add support for BCM5389/97/98 and BCM63XX ARL formats Florian Fainelli
2025-11-11  1:30 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox