[net,v1,6/6] net: dsa: microchip: ksz8: fix MDF configuration with non-zero VID

Message ID 20230322143130.1432106-7-o.rempel@pengutronix.de
State New
Headers
Series net: dsa: microchip: ksz8: fixes for stable |

Commit Message

Oleksij Rempel March 22, 2023, 2:31 p.m. UTC
  FID is directly mapped to VID. However, configuring a MAC address with a
VID != 0 resulted in incorrect configuration due to an incorrect bit
mask. This kernel commit fixed the issue by correcting the bit mask and
ensuring proper configuration of MAC addresses with non-zero VID.

Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
 drivers/net/dsa/microchip/ksz_common.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Oleksij Rempel March 23, 2023, 6 a.m. UTC | #1
A typo in subject s/MDF/MDB

On Wed, Mar 22, 2023 at 03:31:30PM +0100, Oleksij Rempel wrote:
> FID is directly mapped to VID. However, configuring a MAC address with a
> VID != 0 resulted in incorrect configuration due to an incorrect bit
> mask. This kernel commit fixed the issue by correcting the bit mask and
> ensuring proper configuration of MAC addresses with non-zero VID.
> 
> Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to ksz_common")
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  drivers/net/dsa/microchip/ksz_common.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
> index 4929fb29ed06..74c56d05ab0b 100644
> --- a/drivers/net/dsa/microchip/ksz_common.c
> +++ b/drivers/net/dsa/microchip/ksz_common.c
> @@ -404,7 +404,7 @@ static const u32 ksz8863_masks[] = {
>  	[VLAN_TABLE_VALID]		= BIT(19),
>  	[STATIC_MAC_TABLE_VALID]	= BIT(19),
>  	[STATIC_MAC_TABLE_USE_FID]	= BIT(21),
> -	[STATIC_MAC_TABLE_FID]		= GENMASK(29, 26),
> +	[STATIC_MAC_TABLE_FID]		= GENMASK(25, 22),
>  	[STATIC_MAC_TABLE_OVERRIDE]	= BIT(20),
>  	[STATIC_MAC_TABLE_FWD_PORTS]	= GENMASK(18, 16),
>  	[DYNAMIC_MAC_TABLE_ENTRIES_H]	= GENMASK(1, 0),
> -- 
> 2.30.2
> 
> 
>
  
Arun Ramadoss March 24, 2023, 4:08 a.m. UTC | #2
Hi Oleksij, 

On Wed, 2023-03-22 at 15:31 +0100, Oleksij Rempel wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> FID is directly mapped to VID. However, configuring a MAC address
> with a
> VID != 0 resulted in incorrect configuration due to an incorrect bit
> mask. This kernel commit fixed the issue by correcting the bit mask
> and
> ensuring proper configuration of MAC addresses with non-zero VID.
> 
> Fixes: d23a5e18606c ("net: dsa: microchip: move ksz8->masks to
> ksz_common")
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  drivers/net/dsa/microchip/ksz_common.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/dsa/microchip/ksz_common.c
> b/drivers/net/dsa/microchip/ksz_common.c
> index 4929fb29ed06..74c56d05ab0b 100644
> --- a/drivers/net/dsa/microchip/ksz_common.c
> +++ b/drivers/net/dsa/microchip/ksz_common.c
> @@ -404,7 +404,7 @@ static const u32 ksz8863_masks[] = {
>         [VLAN_TABLE_VALID]              = BIT(19),
>         [STATIC_MAC_TABLE_VALID]        = BIT(19),
>         [STATIC_MAC_TABLE_USE_FID]      = BIT(21),
> -       [STATIC_MAC_TABLE_FID]          = GENMASK(29, 26),
> +       [STATIC_MAC_TABLE_FID]          = GENMASK(25, 22),

Cross verified the bit mask with datasheet.
Patch Looks good to me.

Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>

>         [STATIC_MAC_TABLE_OVERRIDE]     = BIT(20),
>         [STATIC_MAC_TABLE_FWD_PORTS]    = GENMASK(18, 16),
>         [DYNAMIC_MAC_TABLE_ENTRIES_H]   = GENMASK(1, 0),
> --
> 2.30.2
>
  

Patch

diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c
index 4929fb29ed06..74c56d05ab0b 100644
--- a/drivers/net/dsa/microchip/ksz_common.c
+++ b/drivers/net/dsa/microchip/ksz_common.c
@@ -404,7 +404,7 @@  static const u32 ksz8863_masks[] = {
 	[VLAN_TABLE_VALID]		= BIT(19),
 	[STATIC_MAC_TABLE_VALID]	= BIT(19),
 	[STATIC_MAC_TABLE_USE_FID]	= BIT(21),
-	[STATIC_MAC_TABLE_FID]		= GENMASK(29, 26),
+	[STATIC_MAC_TABLE_FID]		= GENMASK(25, 22),
 	[STATIC_MAC_TABLE_OVERRIDE]	= BIT(20),
 	[STATIC_MAC_TABLE_FWD_PORTS]	= GENMASK(18, 16),
 	[DYNAMIC_MAC_TABLE_ENTRIES_H]	= GENMASK(1, 0),