aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Berger <opendmb@gmail.com>2022-06-22 20:02:04 -0700
committerJakub Kicinski <kuba@kernel.org>2022-06-23 20:46:39 -0700
commit7c97bc0128b2eecc703106112679a69d446d1a12 (patch)
treeaf7976b9acc1bd274a7a0d9eab5aead74c4ca157
parentnet/dsa/hirschmann: Add missing of_node_get() in hellcreek_led_setup() (diff)
downloadlinux-dev-7c97bc0128b2eecc703106112679a69d446d1a12.tar.xz
linux-dev-7c97bc0128b2eecc703106112679a69d446d1a12.zip
net: dsa: bcm_sf2: force pause link settings
The pause settings reported by the PHY should also be applied to the GMII port status override otherwise the switch will not generate pause frames towards the link partner despite the advertisement saying otherwise. Fixes: 246d7f773c13 ("net: dsa: add Broadcom SF2 switch driver") Signed-off-by: Doug Berger <opendmb@gmail.com> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Link: https://lore.kernel.org/r/20220623030204.1966851-1-f.fainelli@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/dsa/bcm_sf2.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c
index 87e81c636339..be0edfa093d0 100644
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -878,6 +878,11 @@ static void bcm_sf2_sw_mac_link_up(struct dsa_switch *ds, int port,
if (duplex == DUPLEX_FULL)
reg |= DUPLX_MODE;
+ if (tx_pause)
+ reg |= TXFLOW_CNTL;
+ if (rx_pause)
+ reg |= RXFLOW_CNTL;
+
core_writel(priv, reg, offset);
}