Re: [PATCH net-next v3 1/2] net: dsa: qca8k: Add define for port VID

From: Vladimir Oltean
Date: Sun Aug 02 2020 - 09:21:47 EST


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 <noodles@xxxxxxxx>
> ---

Acked-by: Vladimir Oltean <olteanv@xxxxxxxxx>

> 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
>