net: sparx5: Add arbiter for managing PGID table
authorCasper Andersson <casper.casan@gmail.com>
Mon, 21 Mar 2022 10:14:45 +0000 (11:14 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Mar 2022 13:24:28 +0000 (13:24 +0000)
commitaf9b45d08eb44dcf3cba92a5ab2c93c6be615d0a
tree09b5d21eb5c964555c99080631983c2e11a7b202
parent57939fdc2cbe9e4b5c3fbbdcdc76414da8c57ea7
net: sparx5: Add arbiter for managing PGID table

The PGID (Port Group ID) table holds port masks
for different purposes. The first 72 are reserved
for port destination masks, flood masks, and CPU
forwarding. The rest are shared between multicast,
link aggregation, and virtualization profiles. The
GLAG area is reserved to not be used by anything
else, since it is a subset of the MCAST area.

The arbiter keeps track of which entries are in
use. You can ask for a free ID or give back one
you are done using.

Signed-off-by: Casper Andersson <casper.casan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microchip/sparx5/Makefile
drivers/net/ethernet/microchip/sparx5/sparx5_main.c
drivers/net/ethernet/microchip/sparx5/sparx5_main.h
drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c [new file with mode: 0644]