Commit 65c45064 authored by Murali Karicheri's avatar Murali Karicheri Committed by David S. Miller

net: netcp: ethss: map vlan priorities to zero flow

The driver currently support only vlan priority zero. So map the
vlan priorities to zero flow in hardware.
Signed-off-by: default avatarMurali Karicheri <m-karicheri2@ti.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7771f2b4
...@@ -602,6 +602,7 @@ struct gbe_port_regs { ...@@ -602,6 +602,7 @@ struct gbe_port_regs {
struct gbe_port_regs_ofs { struct gbe_port_regs_ofs {
u16 port_vlan; u16 port_vlan;
u16 tx_pri_map; u16 tx_pri_map;
u16 rx_pri_map;
u16 sa_lo; u16 sa_lo;
u16 sa_hi; u16 sa_hi;
u16 ts_ctl; u16 ts_ctl;
...@@ -2304,6 +2305,13 @@ static int gbe_slave_open(struct gbe_intf *gbe_intf) ...@@ -2304,6 +2305,13 @@ static int gbe_slave_open(struct gbe_intf *gbe_intf)
gbe_sgmii_rtreset(priv, slave, false); gbe_sgmii_rtreset(priv, slave, false);
gbe_port_config(priv, slave, priv->rx_packet_max); gbe_port_config(priv, slave, priv->rx_packet_max);
gbe_set_slave_mac(slave, gbe_intf); gbe_set_slave_mac(slave, gbe_intf);
/* For NU & 2U switch, map the vlan priorities to zero
* as we only configure to use priority 0
*/
if (IS_SS_ID_MU(priv))
writel(HOST_TX_PRI_MAP_DEFAULT,
GBE_REG_ADDR(slave, port_regs, rx_pri_map));
/* enable forwarding */ /* enable forwarding */
cpsw_ale_control_set(priv->ale, slave->port_num, cpsw_ale_control_set(priv->ale, slave->port_num,
ALE_PORT_STATE, ALE_PORT_STATE_FORWARD); ALE_PORT_STATE, ALE_PORT_STATE_FORWARD);
...@@ -3005,6 +3013,7 @@ static int init_slave(struct gbe_priv *gbe_dev, struct gbe_slave *slave, ...@@ -3005,6 +3013,7 @@ static int init_slave(struct gbe_priv *gbe_dev, struct gbe_slave *slave,
/* Initialize slave port register offsets */ /* Initialize slave port register offsets */
GBENU_SET_REG_OFS(slave, port_regs, port_vlan); GBENU_SET_REG_OFS(slave, port_regs, port_vlan);
GBENU_SET_REG_OFS(slave, port_regs, tx_pri_map); GBENU_SET_REG_OFS(slave, port_regs, tx_pri_map);
GBENU_SET_REG_OFS(slave, port_regs, rx_pri_map);
GBENU_SET_REG_OFS(slave, port_regs, sa_lo); GBENU_SET_REG_OFS(slave, port_regs, sa_lo);
GBENU_SET_REG_OFS(slave, port_regs, sa_hi); GBENU_SET_REG_OFS(slave, port_regs, sa_hi);
GBENU_SET_REG_OFS(slave, port_regs, ts_ctl); GBENU_SET_REG_OFS(slave, port_regs, ts_ctl);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment