On Sat, Aug 01, 2020 at 06:05:54PM +0100, Jonathan McDowell wrote:
> Rather than using a magic value of 1 when configuring the port VIDs add
> a QCA8K_PORT_VID_DEF define and use that instead. Also fix up the
> bitmask in the process; the top 4 bits are reserved so this wasn't a
> problem, but only masking 12 bits is the correct approach.
> 
> Signed-off-by: Jonathan McDowell <nood...@earth.li>
> ---

Acked-by: Vladimir Oltean <olte...@gmail.com>

>  drivers/net/dsa/qca8k.c | 11 ++++++-----
>  drivers/net/dsa/qca8k.h |  2 ++
>  2 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c
> index a5566de82853..3ebc4da63074 100644
> --- a/drivers/net/dsa/qca8k.c
> +++ b/drivers/net/dsa/qca8k.c
> @@ -663,10 +663,11 @@ qca8k_setup(struct dsa_switch *ds)
>                        * default egress vid
>                        */
>                       qca8k_rmw(priv, QCA8K_EGRESS_VLAN(i),
> -                               0xffff << shift, 1 << shift);
> +                               0xfff << shift,
> +                               QCA8K_PORT_VID_DEF << shift);
>                       qca8k_write(priv, QCA8K_REG_PORT_VLAN_CTRL0(i),
> -                                 QCA8K_PORT_VLAN_CVID(1) |
> -                                 QCA8K_PORT_VLAN_SVID(1));
> +                                 QCA8K_PORT_VLAN_CVID(QCA8K_PORT_VID_DEF) |
> +                                 QCA8K_PORT_VLAN_SVID(QCA8K_PORT_VID_DEF));
>               }
>       }
>  
> @@ -1133,7 +1134,7 @@ qca8k_port_fdb_insert(struct qca8k_priv *priv, const u8 
> *addr,
>  {
>       /* Set the vid to the port vlan id if no vid is set */
>       if (!vid)
> -             vid = 1;
> +             vid = QCA8K_PORT_VID_DEF;
>  
>       return qca8k_fdb_add(priv, addr, port_mask, vid,
>                            QCA8K_ATU_STATUS_STATIC);
> @@ -1157,7 +1158,7 @@ qca8k_port_fdb_del(struct dsa_switch *ds, int port,
>       u16 port_mask = BIT(port);
>  
>       if (!vid)
> -             vid = 1;
> +             vid = QCA8K_PORT_VID_DEF;
>  
>       return qca8k_fdb_del(priv, addr, port_mask, vid);
>  }
> diff --git a/drivers/net/dsa/qca8k.h b/drivers/net/dsa/qca8k.h
> index 31439396401c..92216a52daa5 100644
> --- a/drivers/net/dsa/qca8k.h
> +++ b/drivers/net/dsa/qca8k.h
> @@ -22,6 +22,8 @@
>  
>  #define QCA8K_CPU_PORT                                       0
>  
> +#define QCA8K_PORT_VID_DEF                           1
> +
>  /* Global control registers */
>  #define QCA8K_REG_MASK_CTRL                          0x000
>  #define   QCA8K_MASK_CTRL_ID_M                               0xff
> -- 
> 2.20.1
> 

Reply via email to