summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c
diff options
context:
space:
mode:
authorCasper Andersson <casper.casan@gmail.com>2022-03-24 12:38:53 +0100
committerJakub Kicinski <kuba@kernel.org>2022-03-25 15:45:14 -0700
commitad238fc6de7d1adece5167df09464912c098b021 (patch)
treebbf753e5cd432b3eab6d530f9a4464130f9bd658 /drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c
parent264a9c5c9dff40f92a2a9ad1757d59a4438114fd (diff)
net: sparx5: Refactor mdb handling according to feedback
- Remove mact_lookup and use new mact_find instead. - Make pgid_read_mask function. - Set PGID arbiter to start searching at PGID_BASE + 8. This is according to feedback on previous patch. https://lore.kernel.org/netdev/20220322081823.wqbx7vud4q7qtjuq@wse-c0155/T/#t Signed-off-by: Casper Andersson <casper.casan@gmail.com> Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c')
-rw-r--r--drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c
index 35abb3d0ce19..a5837dbe0c7e 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c
@@ -212,19 +212,7 @@ bool sparx5_mact_find(struct sparx5 *sparx5,
mutex_unlock(&sparx5->lock);
- return ret == 0;
-}
-
-static int sparx5_mact_lookup(struct sparx5 *sparx5,
- const unsigned char mac[ETH_ALEN],
- u16 vid)
-{
- u32 pcfg2;
-
- if (sparx5_mact_find(sparx5, mac, vid, &pcfg2))
- return 1;
-
- return 0;
+ return ret;
}
int sparx5_mact_forget(struct sparx5 *sparx5,
@@ -305,9 +293,10 @@ int sparx5_add_mact_entry(struct sparx5 *sparx5,
{
struct sparx5_mact_entry *mact_entry;
int ret;
+ u32 cfg2;
- ret = sparx5_mact_lookup(sparx5, addr, vid);
- if (ret)
+ ret = sparx5_mact_find(sparx5, addr, vid, &cfg2);
+ if (!ret)
return 0;
/* In case the entry already exists, don't add it again to SW,