mirror of https://gitee.com/openkylin/linux.git
net: dsa: qca8k: Add define for port VID
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@earth.li> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Vladimir Oltean <olteanv@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ac6d1835ca
commit
e9d204fde5
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue