All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] net: ethernet: ti: cpsw: drop vid0 configuration in dual_mac mode
@ 2018-11-25 23:46 ` Grygorii Strashko
  0 siblings, 0 replies; 15+ messages in thread
From: Grygorii Strashko @ 2018-11-25 23:46 UTC (permalink / raw)
  To: David S. Miller, netdev
  Cc: Sekhar Nori, linux-kernel, linux-omap, Ivan Khoronzhuk,
	Grygorii Strashko

In dual_mac mode CPSW driver uses vid1 and vid2 by default to implement
dual mac mode wich are used to configure pvids for each external ports.
But, historicaly, it also adds vid0 to ALE table and sets "untag" bits for both
ext. ports. As result, it's imposible to use priority tagged packets in
dual mac mode.

Hence, drop vid0 configuration in dual mac mode as it's not required for dual
mac mode functionality and, this way, make it possible to use priority
tagged packet in dual mac mode.

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
---
 drivers/net/ethernet/ti/cpsw.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index 15d563c..4f3a159 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -2036,9 +2036,6 @@ static int cpsw_ndo_open(struct net_device *ndev)
 	/* Add default VLAN */
 	if (!cpsw->data.dual_emac)
 		cpsw_add_default_vlan(priv);
-	else
-		cpsw_ale_add_vlan(cpsw->ale, cpsw->data.default_vlan,
-				  ALE_ALL_PORTS, ALE_ALL_PORTS, 0, 0);
 
 	/* initialize shared resources for every ndev */
 	if (!cpsw->usage_count) {
@@ -2490,7 +2487,7 @@ static int cpsw_ndo_vlan_rx_add_vid(struct net_device *ndev,
 	struct cpsw_common *cpsw = priv->cpsw;
 	int ret;
 
-	if (vid == cpsw->data.default_vlan)
+	if (!cpsw->data.dual_emac && vid == cpsw->data.default_vlan)
 		return 0;
 
 	ret = pm_runtime_get_sync(cpsw->dev);
@@ -2528,7 +2525,7 @@ static int cpsw_ndo_vlan_rx_kill_vid(struct net_device *ndev,
 	struct cpsw_common *cpsw = priv->cpsw;
 	int ret;
 
-	if (vid == cpsw->data.default_vlan)
+	if (!cpsw->data.dual_emac && vid == cpsw->data.default_vlan)
 		return 0;
 
 	ret = pm_runtime_get_sync(cpsw->dev);
-- 
2.10.5


^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2018-11-30 13:55 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-25 23:46 [PATCH net-next] net: ethernet: ti: cpsw: drop vid0 configuration in dual_mac mode Grygorii Strashko
2018-11-25 23:46 ` Grygorii Strashko
2018-11-26 16:26 ` [PATCH net-next] net: ethernet: ti: cpsw: drop vid0 configuration in dual_mac modey Ivan Khoronzhuk
2018-11-26 18:57   ` Grygorii Strashko
2018-11-26 18:57     ` Grygorii Strashko
2018-11-26 20:07     ` Ivan Khoronzhuk
2018-11-27  1:08       ` Grygorii Strashko
2018-11-27  1:08         ` Grygorii Strashko
2018-11-28 21:15       ` Grygorii Strashko
2018-11-28 21:15         ` Grygorii Strashko
2018-11-29 15:26         ` Ivan Khoronzhuk
2018-11-29 23:23           ` Grygorii Strashko
2018-11-29 23:23             ` Grygorii Strashko
2018-11-30 13:42             ` Ivan Khoronzhuk
2018-11-30 13:55               ` Ivan Khoronzhuk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.