aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVladimir Oltean <vladimir.oltean@nxp.com>2020-07-13 19:57:06 +0300
committerDavid S. Miller <davem@davemloft.net>2020-07-13 17:40:02 -0700
commitb39648079db40874df97c5104066f8a9fc3daa0c (patch)
treee171984f0589035acb3276e54f0d1920da6186c8 /drivers
parentnet: mscc: ocelot: split writes to pause frame enable bit and to thresholds (diff)
downloadlinux-dev-b39648079db40874df97c5104066f8a9fc3daa0c.tar.xz
linux-dev-b39648079db40874df97c5104066f8a9fc3daa0c.zip
net: mscc: ocelot: disable flow control on NPI interface
The Ocelot switches do not support flow control on Ethernet interfaces where a DSA tag must be added. If pause frames are enabled, they will be encapsulated in the DSA tag just like regular frames, and the DSA master will not recognize them. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/ethernet/mscc/ocelot.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mscc/ocelot.c b/drivers/net/ethernet/mscc/ocelot.c
index aca805b9c0b3..2a44305912d2 100644
--- a/drivers/net/ethernet/mscc/ocelot.c
+++ b/drivers/net/ethernet/mscc/ocelot.c
@@ -1401,6 +1401,10 @@ void ocelot_configure_cpu(struct ocelot *ocelot, int npi,
extraction);
ocelot_fields_write(ocelot, npi, SYS_PORT_MODE_INCL_INJ_HDR,
injection);
+
+ /* Disable transmission of pause frames */
+ ocelot_rmw_rix(ocelot, 0, SYS_PAUSE_CFG_PAUSE_ENA,
+ SYS_PAUSE_CFG, npi);
}
/* Enable CPU port module */