From: Greg Kroah-Hartman Date: Mon, 26 Jul 2021 09:27:43 +0000 (+0200) Subject: 5.4-stable patches X-Git-Tag: v4.4.277~32 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7129ce5e2b018b9b85de1de8d8a9b7ba788c32b4;p=thirdparty%2Fkernel%2Fstable-queue.git 5.4-stable patches added patches: net-bcmgenet-ensure-ext_energy_det_mask-is-clear.patch net-dsa-mv88e6xxx-use-correct-.stats_set_histogram-on-topaz.patch --- diff --git a/queue-5.4/net-bcmgenet-ensure-ext_energy_det_mask-is-clear.patch b/queue-5.4/net-bcmgenet-ensure-ext_energy_det_mask-is-clear.patch new file mode 100644 index 00000000000..30536f92d63 --- /dev/null +++ b/queue-5.4/net-bcmgenet-ensure-ext_energy_det_mask-is-clear.patch @@ -0,0 +1,91 @@ +From 5a3c680aa2c12c90c44af383fe6882a39875ab81 Mon Sep 17 00:00:00 2001 +From: Doug Berger +Date: Tue, 29 Jun 2021 17:14:19 -0700 +Subject: net: bcmgenet: ensure EXT_ENERGY_DET_MASK is clear + +From: Doug Berger + +commit 5a3c680aa2c12c90c44af383fe6882a39875ab81 upstream. + +Setting the EXT_ENERGY_DET_MASK bit allows the port energy detection +logic of the internal PHY to prevent the system from sleeping. Some +internal PHYs will report that energy is detected when the network +interface is closed which can prevent the system from going to sleep +if WoL is enabled when the interface is brought down. + +Since the driver does not support waking the system on this logic, +this commit clears the bit whenever the internal PHY is powered up +and the other logic for manipulating the bit is removed since it +serves no useful function. + +Fixes: 1c1008c793fa ("net: bcmgenet: add main driver file") +Signed-off-by: Doug Berger +Acked-by: Florian Fainelli +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/ethernet/broadcom/genet/bcmgenet.c | 16 ++-------------- + drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c | 6 ------ + 2 files changed, 2 insertions(+), 20 deletions(-) + +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c +@@ -1187,7 +1187,8 @@ static void bcmgenet_power_up(struct bcm + + switch (mode) { + case GENET_POWER_PASSIVE: +- reg &= ~(EXT_PWR_DOWN_DLL | EXT_PWR_DOWN_BIAS); ++ reg &= ~(EXT_PWR_DOWN_DLL | EXT_PWR_DOWN_BIAS | ++ EXT_ENERGY_DET_MASK); + if (GENET_IS_V5(priv)) { + reg &= ~(EXT_PWR_DOWN_PHY_EN | + EXT_PWR_DOWN_PHY_RD | +@@ -2901,12 +2902,6 @@ static int bcmgenet_open(struct net_devi + + bcmgenet_set_hw_addr(priv, dev->dev_addr); + +- if (priv->internal_phy) { +- reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT); +- reg |= EXT_ENERGY_DET_MASK; +- bcmgenet_ext_writel(priv, reg, EXT_EXT_PWR_MGMT); +- } +- + /* Disable RX/TX DMA and flush TX queues */ + dma_ctrl = bcmgenet_dma_disable(priv); + +@@ -3623,7 +3618,6 @@ static int bcmgenet_resume(struct device + struct bcmgenet_priv *priv = netdev_priv(dev); + unsigned long dma_ctrl; + int ret; +- u32 reg; + + if (!netif_running(dev)) + return 0; +@@ -3655,12 +3649,6 @@ static int bcmgenet_resume(struct device + + bcmgenet_set_hw_addr(priv, dev->dev_addr); + +- if (priv->internal_phy) { +- reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT); +- reg |= EXT_ENERGY_DET_MASK; +- bcmgenet_ext_writel(priv, reg, EXT_EXT_PWR_MGMT); +- } +- + if (priv->wolopts) + bcmgenet_power_up(priv, GENET_POWER_WOL_MAGIC); + +--- a/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c ++++ b/drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c +@@ -160,12 +160,6 @@ int bcmgenet_wol_power_down_cfg(struct b + reg |= CMD_RX_EN; + bcmgenet_umac_writel(priv, reg, UMAC_CMD); + +- if (priv->hw_params->flags & GENET_HAS_EXT) { +- reg = bcmgenet_ext_readl(priv, EXT_EXT_PWR_MGMT); +- reg &= ~EXT_ENERGY_DET_MASK; +- bcmgenet_ext_writel(priv, reg, EXT_EXT_PWR_MGMT); +- } +- + return 0; + } + diff --git a/queue-5.4/net-dsa-mv88e6xxx-use-correct-.stats_set_histogram-on-topaz.patch b/queue-5.4/net-dsa-mv88e6xxx-use-correct-.stats_set_histogram-on-topaz.patch new file mode 100644 index 00000000000..0257a26a0e5 --- /dev/null +++ b/queue-5.4/net-dsa-mv88e6xxx-use-correct-.stats_set_histogram-on-topaz.patch @@ -0,0 +1,46 @@ +From 11527f3c4725640e6c40a2b7654e303f45e82a6c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marek=20Beh=C3=BAn?= +Date: Thu, 1 Jul 2021 00:22:27 +0200 +Subject: net: dsa: mv88e6xxx: use correct .stats_set_histogram() on Topaz +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Marek Behún + +commit 11527f3c4725640e6c40a2b7654e303f45e82a6c upstream. + +Commit 40cff8fca9e3 ("net: dsa: mv88e6xxx: Fix stats histogram mode") +introduced wrong .stats_set_histogram() method for Topaz family. + +The Peridot method should be used instead. + +Signed-off-by: Marek Behún +Fixes: 40cff8fca9e3 ("net: dsa: mv88e6xxx: Fix stats histogram mode") +Reviewed-by: Andrew Lunn +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/dsa/mv88e6xxx/chip.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/net/dsa/mv88e6xxx/chip.c ++++ b/drivers/net/dsa/mv88e6xxx/chip.c +@@ -3192,7 +3192,7 @@ static const struct mv88e6xxx_ops mv88e6 + .port_set_cmode = mv88e6341_port_set_cmode, + .port_setup_message_port = mv88e6xxx_setup_message_port, + .stats_snapshot = mv88e6390_g1_stats_snapshot, +- .stats_set_histogram = mv88e6095_g1_stats_set_histogram, ++ .stats_set_histogram = mv88e6390_g1_stats_set_histogram, + .stats_get_sset_count = mv88e6320_stats_get_sset_count, + .stats_get_strings = mv88e6320_stats_get_strings, + .stats_get_stats = mv88e6390_stats_get_stats, +@@ -3907,7 +3907,7 @@ static const struct mv88e6xxx_ops mv88e6 + .port_set_cmode = mv88e6341_port_set_cmode, + .port_setup_message_port = mv88e6xxx_setup_message_port, + .stats_snapshot = mv88e6390_g1_stats_snapshot, +- .stats_set_histogram = mv88e6095_g1_stats_set_histogram, ++ .stats_set_histogram = mv88e6390_g1_stats_set_histogram, + .stats_get_sset_count = mv88e6320_stats_get_sset_count, + .stats_get_strings = mv88e6320_stats_get_strings, + .stats_get_stats = mv88e6390_stats_get_stats, diff --git a/queue-5.4/series b/queue-5.4/series index 4d9454bbc73..dd87844ee08 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -99,3 +99,5 @@ rbd-don-t-hold-lock_rwsem-while-running_list-is-being-drained.patch rbd-always-kick-acquire-on-acquired-and-released-notifications.patch nds32-fix-up-stack-guard-gap.patch drm-return-enotty-for-non-drm-ioctls.patch +net-dsa-mv88e6xxx-use-correct-.stats_set_histogram-on-topaz.patch +net-bcmgenet-ensure-ext_energy_det_mask-is-clear.patch