]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
net: netcp: ethss: map vlan priorities to zero flow
authorMurali Karicheri <m-karicheri2@ti.com>
Tue, 17 Apr 2018 21:30:36 +0000 (17:30 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Apr 2018 01:00:57 +0000 (21:00 -0400)
The driver currently support only vlan priority zero. So map the
vlan priorities to zero flow in hardware.

Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/netcp_ethss.c

index 83acb728a8f720950356680c9100e929e5559e3b..91935e589b08ab896b22bbbe135730a6e3d7e70b 100644 (file)
@@ -602,6 +602,7 @@ struct gbe_port_regs {
 struct gbe_port_regs_ofs {
        u16     port_vlan;
        u16     tx_pri_map;
+       u16     rx_pri_map;
        u16     sa_lo;
        u16     sa_hi;
        u16     ts_ctl;
@@ -2304,6 +2305,13 @@ static int gbe_slave_open(struct gbe_intf *gbe_intf)
                gbe_sgmii_rtreset(priv, slave, false);
        gbe_port_config(priv, slave, priv->rx_packet_max);
        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 */
        cpsw_ale_control_set(priv->ale, slave->port_num,
                             ALE_PORT_STATE, ALE_PORT_STATE_FORWARD);
@@ -3005,6 +3013,7 @@ static int init_slave(struct gbe_priv *gbe_dev, struct gbe_slave *slave,
                /* Initialize  slave port register offsets */
                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, rx_pri_map);
                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, ts_ctl);