netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on
@ 2022-03-24 11:38 Casper Andersson
  2022-03-24 11:38 ` [PATCH net-next 1/2] net: sparx5: Remove unused GLAG handling in PGID Casper Andersson
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Casper Andersson @ 2022-03-24 11:38 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski, Paolo Abeni, Lars Povlsen,
	Steen Hegelund, UNGLinuxDriver, netdev

This is a follow up to a previous patch that was merged
before manufacturer could give feedback. This addresses
the feedback. See link below for previous patch series.
https://lore.kernel.org/netdev/20220322081823.wqbx7vud4q7qtjuq@wse-c0155/T/#t

Casper Andersson (2):
  net: sparx5: Remove unused GLAG handling in PGID
  net: sparx5: Refactor mdb handling according to feedback

 .../microchip/sparx5/sparx5_mactable.c        | 19 ++++--------------
 .../ethernet/microchip/sparx5/sparx5_main.h   |  7 ++-----
 .../ethernet/microchip/sparx5/sparx5_pgid.c   | 20 +++----------------
 .../microchip/sparx5/sparx5_switchdev.c       | 18 ++++++++---------
 .../ethernet/microchip/sparx5/sparx5_vlan.c   |  7 +++++++
 5 files changed, 24 insertions(+), 47 deletions(-)

-- 
2.30.2


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

* [PATCH net-next 1/2] net: sparx5: Remove unused GLAG handling in PGID
  2022-03-24 11:38 [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on Casper Andersson
@ 2022-03-24 11:38 ` Casper Andersson
  2022-03-24 14:33   ` Steen Hegelund
  2022-03-24 11:38 ` [PATCH net-next 2/2] net: sparx5: Refactor mdb handling according to feedback Casper Andersson
  2022-03-25 23:40 ` [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on patchwork-bot+netdevbpf
  2 siblings, 1 reply; 6+ messages in thread
From: Casper Andersson @ 2022-03-24 11:38 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski, Paolo Abeni, Lars Povlsen,
	Steen Hegelund, UNGLinuxDriver, netdev

Removes PGID handling for GLAG since it is not used
yet. 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>
---
 .../net/ethernet/microchip/sparx5/sparx5_main.h |  4 ----
 .../net/ethernet/microchip/sparx5/sparx5_pgid.c | 17 -----------------
 2 files changed, 21 deletions(-)

diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
index 7a04b8f2a546..8e77d7ee8e68 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
@@ -69,9 +69,6 @@ enum sparx5_vlan_port_type {
 #define PGID_TABLE_SIZE	       3290
 
 #define PGID_MCAST_START 65
-#define PGID_GLAG_START 833
-#define PGID_GLAG_END 1088
-
 #define IFH_LEN                9 /* 36 bytes */
 #define NULL_VID               0
 #define SPX5_MACT_PULL_DELAY   (2 * HZ)
@@ -374,7 +371,6 @@ enum sparx5_pgid_type {
 	SPX5_PGID_FREE,
 	SPX5_PGID_RESERVED,
 	SPX5_PGID_MULTICAST,
-	SPX5_PGID_GLAG
 };
 
 void sparx5_pgid_init(struct sparx5 *spx5);
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
index 90366fcb9958..851a559269e1 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
@@ -15,28 +15,11 @@ void sparx5_pgid_init(struct sparx5 *spx5)
 		spx5->pgid_map[i] = SPX5_PGID_RESERVED;
 }
 
-int sparx5_pgid_alloc_glag(struct sparx5 *spx5, u16 *idx)
-{
-	int i;
-
-	for (i = PGID_GLAG_START; i <= PGID_GLAG_END; i++)
-		if (spx5->pgid_map[i] == SPX5_PGID_FREE) {
-			spx5->pgid_map[i] = SPX5_PGID_GLAG;
-			*idx = i;
-			return 0;
-		}
-
-	return -EBUSY;
-}
-
 int sparx5_pgid_alloc_mcast(struct sparx5 *spx5, u16 *idx)
 {
 	int i;
 
 	for (i = PGID_MCAST_START; i < PGID_TABLE_SIZE; i++) {
-		if (i == PGID_GLAG_START)
-			i = PGID_GLAG_END + 1;
-
 		if (spx5->pgid_map[i] == SPX5_PGID_FREE) {
 			spx5->pgid_map[i] = SPX5_PGID_MULTICAST;
 			*idx = i;
-- 
2.30.2


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

* [PATCH net-next 2/2] net: sparx5: Refactor mdb handling according to feedback
  2022-03-24 11:38 [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on Casper Andersson
  2022-03-24 11:38 ` [PATCH net-next 1/2] net: sparx5: Remove unused GLAG handling in PGID Casper Andersson
@ 2022-03-24 11:38 ` Casper Andersson
  2022-03-24 14:31   ` Steen Hegelund
  2022-03-25 23:40 ` [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on patchwork-bot+netdevbpf
  2 siblings, 1 reply; 6+ messages in thread
From: Casper Andersson @ 2022-03-24 11:38 UTC (permalink / raw)
  To: David S. Miller, Jakub Kicinski, Paolo Abeni, Lars Povlsen,
	Steen Hegelund, UNGLinuxDriver, netdev

- 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>
---
 .../microchip/sparx5/sparx5_mactable.c        | 19 ++++---------------
 .../ethernet/microchip/sparx5/sparx5_main.h   |  3 ++-
 .../ethernet/microchip/sparx5/sparx5_pgid.c   |  3 +++
 .../microchip/sparx5/sparx5_switchdev.c       | 18 ++++++++----------
 .../ethernet/microchip/sparx5/sparx5_vlan.c   |  7 +++++++
 5 files changed, 24 insertions(+), 26 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,
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
index 8e77d7ee8e68..b197129044b5 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
@@ -65,10 +65,10 @@ enum sparx5_vlan_port_type {
 #define PGID_IPV6_MC_CTRL      (PGID_BASE + 5)
 #define PGID_BCAST	       (PGID_BASE + 6)
 #define PGID_CPU	       (PGID_BASE + 7)
+#define PGID_MCAST_START       (PGID_BASE + 8)
 
 #define PGID_TABLE_SIZE	       3290
 
-#define PGID_MCAST_START 65
 #define IFH_LEN                9 /* 36 bytes */
 #define NULL_VID               0
 #define SPX5_MACT_PULL_DELAY   (2 * HZ)
@@ -325,6 +325,7 @@ void sparx5_mact_init(struct sparx5 *sparx5);
 
 /* sparx5_vlan.c */
 void sparx5_pgid_update_mask(struct sparx5_port *port, int pgid, bool enable);
+void sparx5_pgid_read_mask(struct sparx5 *sparx5, int pgid, u32 portmask[3]);
 void sparx5_update_fwd(struct sparx5 *sparx5);
 void sparx5_vlan_init(struct sparx5 *sparx5);
 void sparx5_vlan_port_setup(struct sparx5 *sparx5, int portno);
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
index 851a559269e1..af8b435009f4 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
@@ -19,6 +19,9 @@ int sparx5_pgid_alloc_mcast(struct sparx5 *spx5, u16 *idx)
 {
 	int i;
 
+	/* The multicast area starts at index 65, but the first 7
+	 * are reserved for flood masks and CPU. Start alloc after that.
+	 */
 	for (i = PGID_MCAST_START; i < PGID_TABLE_SIZE; i++) {
 		if (spx5->pgid_map[i] == SPX5_PGID_FREE) {
 			spx5->pgid_map[i] = SPX5_PGID_MULTICAST;
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
index 2d8e0b81c839..5389fffc694a 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
@@ -406,11 +406,11 @@ static int sparx5_handle_port_mdb_add(struct net_device *dev,
 
 	res = sparx5_mact_find(spx5, v->addr, vid, &mact_entry);
 
-	if (res) {
+	if (res == 0) {
 		pgid_idx = LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_GET(mact_entry);
 
-		/* MC_IDX has an offset of 65 in the PGID table. */
-		pgid_idx += PGID_MCAST_START;
+		/* MC_IDX starts after the port masks in the PGID table */
+		pgid_idx += SPX5_PORTS;
 		sparx5_pgid_update_mask(port, pgid_idx, true);
 	} else {
 		err = sparx5_pgid_alloc_mcast(spx5, &pgid_idx);
@@ -468,17 +468,15 @@ static int sparx5_handle_port_mdb_del(struct net_device *dev,
 
 	res = sparx5_mact_find(spx5, v->addr, vid, &mact_entry);
 
-	if (res) {
+	if (res == 0) {
 		pgid_idx = LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_GET(mact_entry);
 
-		/* MC_IDX has an offset of 65 in the PGID table. */
-		pgid_idx += PGID_MCAST_START;
+		/* MC_IDX starts after the port masks in the PGID table */
+		pgid_idx += SPX5_PORTS;
 		sparx5_pgid_update_mask(port, pgid_idx, false);
 
-		pgid_entry[0] = spx5_rd(spx5, ANA_AC_PGID_CFG(pgid_idx));
-		pgid_entry[1] = spx5_rd(spx5, ANA_AC_PGID_CFG1(pgid_idx));
-		pgid_entry[2] = spx5_rd(spx5, ANA_AC_PGID_CFG2(pgid_idx));
-		if (pgid_entry[0] == 0 && pgid_entry[1] == 0 && pgid_entry[2] == 0) {
+		sparx5_pgid_read_mask(spx5, pgid_idx, pgid_entry);
+		if (bitmap_empty((unsigned long *)pgid_entry, SPX5_PORTS)) {
 			/* No ports are in MC group. Remove entry */
 			err = sparx5_mdb_del_entry(dev, spx5, v->addr, vid, pgid_idx);
 			if (err)
diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c b/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c
index 8e56ffa1c4f7..37e4ac965849 100644
--- a/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c
+++ b/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c
@@ -138,6 +138,13 @@ void sparx5_pgid_update_mask(struct sparx5_port *port, int pgid, bool enable)
 	}
 }
 
+void sparx5_pgid_read_mask(struct sparx5 *spx5, int pgid, u32 portmask[3])
+{
+	portmask[0] = spx5_rd(spx5, ANA_AC_PGID_CFG(pgid));
+	portmask[1] = spx5_rd(spx5, ANA_AC_PGID_CFG1(pgid));
+	portmask[2] = spx5_rd(spx5, ANA_AC_PGID_CFG2(pgid));
+}
+
 void sparx5_update_fwd(struct sparx5 *sparx5)
 {
 	DECLARE_BITMAP(workmask, SPX5_PORTS);
-- 
2.30.2


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

* Re: [PATCH net-next 2/2] net: sparx5: Refactor mdb handling according to feedback
  2022-03-24 11:38 ` [PATCH net-next 2/2] net: sparx5: Refactor mdb handling according to feedback Casper Andersson
@ 2022-03-24 14:31   ` Steen Hegelund
  0 siblings, 0 replies; 6+ messages in thread
From: Steen Hegelund @ 2022-03-24 14:31 UTC (permalink / raw)
  To: Casper Andersson, David S. Miller, Jakub Kicinski, Paolo Abeni,
	Lars Povlsen, UNGLinuxDriver, netdev

On Thu, 2022-03-24 at 12:38 +0100, Casper Andersson wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> - 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>
> ---
>  .../microchip/sparx5/sparx5_mactable.c        | 19 ++++---------------
>  .../ethernet/microchip/sparx5/sparx5_main.h   |  3 ++-
>  .../ethernet/microchip/sparx5/sparx5_pgid.c   |  3 +++
>  .../microchip/sparx5/sparx5_switchdev.c       | 18 ++++++++----------
>  .../ethernet/microchip/sparx5/sparx5_vlan.c   |  7 +++++++
>  5 files changed, 24 insertions(+), 26 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,
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> index 8e77d7ee8e68..b197129044b5 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> @@ -65,10 +65,10 @@ enum sparx5_vlan_port_type {
>  #define PGID_IPV6_MC_CTRL      (PGID_BASE + 5)
>  #define PGID_BCAST            (PGID_BASE + 6)
>  #define PGID_CPU              (PGID_BASE + 7)
> +#define PGID_MCAST_START       (PGID_BASE + 8)
> 
>  #define PGID_TABLE_SIZE               3290
> 
> -#define PGID_MCAST_START 65
>  #define IFH_LEN                9 /* 36 bytes */
>  #define NULL_VID               0
>  #define SPX5_MACT_PULL_DELAY   (2 * HZ)
> @@ -325,6 +325,7 @@ void sparx5_mact_init(struct sparx5 *sparx5);
> 
>  /* sparx5_vlan.c */
>  void sparx5_pgid_update_mask(struct sparx5_port *port, int pgid, bool enable);
> +void sparx5_pgid_read_mask(struct sparx5 *sparx5, int pgid, u32 portmask[3]);
>  void sparx5_update_fwd(struct sparx5 *sparx5);
>  void sparx5_vlan_init(struct sparx5 *sparx5);
>  void sparx5_vlan_port_setup(struct sparx5 *sparx5, int portno);
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> index 851a559269e1..af8b435009f4 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> @@ -19,6 +19,9 @@ int sparx5_pgid_alloc_mcast(struct sparx5 *spx5, u16 *idx)
>  {
>         int i;
> 
> +       /* The multicast area starts at index 65, but the first 7
> +        * are reserved for flood masks and CPU. Start alloc after that.
> +        */
>         for (i = PGID_MCAST_START; i < PGID_TABLE_SIZE; i++) {
>                 if (spx5->pgid_map[i] == SPX5_PGID_FREE) {
>                         spx5->pgid_map[i] = SPX5_PGID_MULTICAST;
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> index 2d8e0b81c839..5389fffc694a 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c
> @@ -406,11 +406,11 @@ static int sparx5_handle_port_mdb_add(struct net_device *dev,
> 
>         res = sparx5_mact_find(spx5, v->addr, vid, &mact_entry);
> 
> -       if (res) {
> +       if (res == 0) {
>                 pgid_idx = LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_GET(mact_entry);
> 
> -               /* MC_IDX has an offset of 65 in the PGID table. */
> -               pgid_idx += PGID_MCAST_START;
> +               /* MC_IDX starts after the port masks in the PGID table */
> +               pgid_idx += SPX5_PORTS;
>                 sparx5_pgid_update_mask(port, pgid_idx, true);
>         } else {
>                 err = sparx5_pgid_alloc_mcast(spx5, &pgid_idx);
> @@ -468,17 +468,15 @@ static int sparx5_handle_port_mdb_del(struct net_device *dev,
> 
>         res = sparx5_mact_find(spx5, v->addr, vid, &mact_entry);
> 
> -       if (res) {
> +       if (res == 0) {
>                 pgid_idx = LRN_MAC_ACCESS_CFG_2_MAC_ENTRY_ADDR_GET(mact_entry);
> 
> -               /* MC_IDX has an offset of 65 in the PGID table. */
> -               pgid_idx += PGID_MCAST_START;
> +               /* MC_IDX starts after the port masks in the PGID table */
> +               pgid_idx += SPX5_PORTS;
>                 sparx5_pgid_update_mask(port, pgid_idx, false);
> 
> -               pgid_entry[0] = spx5_rd(spx5, ANA_AC_PGID_CFG(pgid_idx));
> -               pgid_entry[1] = spx5_rd(spx5, ANA_AC_PGID_CFG1(pgid_idx));
> -               pgid_entry[2] = spx5_rd(spx5, ANA_AC_PGID_CFG2(pgid_idx));
> -               if (pgid_entry[0] == 0 && pgid_entry[1] == 0 && pgid_entry[2] == 0) {
> +               sparx5_pgid_read_mask(spx5, pgid_idx, pgid_entry);
> +               if (bitmap_empty((unsigned long *)pgid_entry, SPX5_PORTS)) {
>                         /* No ports are in MC group. Remove entry */
>                         err = sparx5_mdb_del_entry(dev, spx5, v->addr, vid, pgid_idx);
>                         if (err)
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c
> b/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c
> index 8e56ffa1c4f7..37e4ac965849 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_vlan.c
> @@ -138,6 +138,13 @@ void sparx5_pgid_update_mask(struct sparx5_port *port, int pgid, bool enable)
>         }
>  }
> 
> +void sparx5_pgid_read_mask(struct sparx5 *spx5, int pgid, u32 portmask[3])
> +{
> +       portmask[0] = spx5_rd(spx5, ANA_AC_PGID_CFG(pgid));
> +       portmask[1] = spx5_rd(spx5, ANA_AC_PGID_CFG1(pgid));
> +       portmask[2] = spx5_rd(spx5, ANA_AC_PGID_CFG2(pgid));
> +}
> +
>  void sparx5_update_fwd(struct sparx5 *sparx5)
>  {
>         DECLARE_BITMAP(workmask, SPX5_PORTS);
> --
> 2.30.2
> 

Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com>

-- 
Best Regards
Steen

-=-=-=-=-=-=-=-=-=-=-=-=-=-=
steen.hegelund@microchip.com


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

* Re: [PATCH net-next 1/2] net: sparx5: Remove unused GLAG handling in PGID
  2022-03-24 11:38 ` [PATCH net-next 1/2] net: sparx5: Remove unused GLAG handling in PGID Casper Andersson
@ 2022-03-24 14:33   ` Steen Hegelund
  0 siblings, 0 replies; 6+ messages in thread
From: Steen Hegelund @ 2022-03-24 14:33 UTC (permalink / raw)
  To: Casper Andersson, David S. Miller, Jakub Kicinski, Paolo Abeni,
	Lars Povlsen, UNGLinuxDriver, netdev

Hi Casper,

On Thu, 2022-03-24 at 12:38 +0100, Casper Andersson wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> Removes PGID handling for GLAG since it is not used
> yet. 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>
> ---
>  .../net/ethernet/microchip/sparx5/sparx5_main.h |  4 ----
>  .../net/ethernet/microchip/sparx5/sparx5_pgid.c | 17 -----------------
>  2 files changed, 21 deletions(-)
> 
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> index 7a04b8f2a546..8e77d7ee8e68 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h
> @@ -69,9 +69,6 @@ enum sparx5_vlan_port_type {
>  #define PGID_TABLE_SIZE               3290
> 
>  #define PGID_MCAST_START 65
> -#define PGID_GLAG_START 833
> -#define PGID_GLAG_END 1088
> -
>  #define IFH_LEN                9 /* 36 bytes */
>  #define NULL_VID               0
>  #define SPX5_MACT_PULL_DELAY   (2 * HZ)
> @@ -374,7 +371,6 @@ enum sparx5_pgid_type {
>         SPX5_PGID_FREE,
>         SPX5_PGID_RESERVED,
>         SPX5_PGID_MULTICAST,
> -       SPX5_PGID_GLAG
>  };
> 
>  void sparx5_pgid_init(struct sparx5 *spx5);
> diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> index 90366fcb9958..851a559269e1 100644
> --- a/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_pgid.c
> @@ -15,28 +15,11 @@ void sparx5_pgid_init(struct sparx5 *spx5)
>                 spx5->pgid_map[i] = SPX5_PGID_RESERVED;
>  }
> 
> -int sparx5_pgid_alloc_glag(struct sparx5 *spx5, u16 *idx)
> -{
> -       int i;
> -
> -       for (i = PGID_GLAG_START; i <= PGID_GLAG_END; i++)
> -               if (spx5->pgid_map[i] == SPX5_PGID_FREE) {
> -                       spx5->pgid_map[i] = SPX5_PGID_GLAG;
> -                       *idx = i;
> -                       return 0;
> -               }
> -
> -       return -EBUSY;
> -}
> -
>  int sparx5_pgid_alloc_mcast(struct sparx5 *spx5, u16 *idx)
>  {
>         int i;
> 
>         for (i = PGID_MCAST_START; i < PGID_TABLE_SIZE; i++) {
> -               if (i == PGID_GLAG_START)
> -                       i = PGID_GLAG_END + 1;
> -
>                 if (spx5->pgid_map[i] == SPX5_PGID_FREE) {
>                         spx5->pgid_map[i] = SPX5_PGID_MULTICAST;
>                         *idx = i;
> --
> 2.30.2
> 

Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com>

-- 
Best Regards
Steen

-=-=-=-=-=-=-=-=-=-=-=-=-=-=
steen.hegelund@microchip.com


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

* Re: [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on
  2022-03-24 11:38 [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on Casper Andersson
  2022-03-24 11:38 ` [PATCH net-next 1/2] net: sparx5: Remove unused GLAG handling in PGID Casper Andersson
  2022-03-24 11:38 ` [PATCH net-next 2/2] net: sparx5: Refactor mdb handling according to feedback Casper Andersson
@ 2022-03-25 23:40 ` patchwork-bot+netdevbpf
  2 siblings, 0 replies; 6+ messages in thread
From: patchwork-bot+netdevbpf @ 2022-03-25 23:40 UTC (permalink / raw)
  To: Casper Andersson
  Cc: davem, kuba, pabeni, lars.povlsen, Steen.Hegelund,
	UNGLinuxDriver, netdev

Hello:

This series was applied to netdev/net.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 24 Mar 2022 12:38:51 +0100 you wrote:
> This is a follow up to a previous patch that was merged
> before manufacturer could give feedback. This addresses
> the feedback. See link below for previous patch series.
> https://lore.kernel.org/netdev/20220322081823.wqbx7vud4q7qtjuq@wse-c0155/T/#t
> 
> Casper Andersson (2):
>   net: sparx5: Remove unused GLAG handling in PGID
>   net: sparx5: Refactor mdb handling according to feedback
> 
> [...]

Here is the summary with links:
  - [net-next,1/2] net: sparx5: Remove unused GLAG handling in PGID
    https://git.kernel.org/netdev/net/c/264a9c5c9dff
  - [net-next,2/2] net: sparx5: Refactor mdb handling according to feedback
    https://git.kernel.org/netdev/net/c/ad238fc6de7d

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2022-03-25 23:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-24 11:38 [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on Casper Andersson
2022-03-24 11:38 ` [PATCH net-next 1/2] net: sparx5: Remove unused GLAG handling in PGID Casper Andersson
2022-03-24 14:33   ` Steen Hegelund
2022-03-24 11:38 ` [PATCH net-next 2/2] net: sparx5: Refactor mdb handling according to feedback Casper Andersson
2022-03-24 14:31   ` Steen Hegelund
2022-03-25 23:40 ` [PATCH net-next 0/2] net: sparx5: Refactor based on feedback on 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;
as well as URLs for NNTP newsgroup(s).