]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop broken net-fec patch from 4.14 and 4.15
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Mar 2018 16:39:51 +0000 (17:39 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Mar 2018 16:39:51 +0000 (17:39 +0100)
queue-4.14/net-fec-add-phy_reset_after_clk_enable-support.patch [deleted file]
queue-4.14/series
queue-4.15/net-fec-add-phy_reset_after_clk_enable-support.patch [deleted file]
queue-4.15/series

diff --git a/queue-4.14/net-fec-add-phy_reset_after_clk_enable-support.patch b/queue-4.14/net-fec-add-phy_reset_after_clk_enable-support.patch
deleted file mode 100644 (file)
index 0404c6e..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-From foo@baz Thu Mar 22 14:26:48 CET 2018
-From: Richard Leitner <richard.leitner@skidata.com>
-Date: Mon, 11 Dec 2017 13:17:00 +0100
-Subject: net: fec: add phy_reset_after_clk_enable() support
-
-From: Richard Leitner <richard.leitner@skidata.com>
-
-
-[ Upstream commit 1b0a83ac04e383e3bed21332962b90710fcf2828 ]
-
-Some PHYs (for example the SMSC LAN8710/LAN8720) doesn't allow turning
-the refclk on and off again during operation (according to their
-datasheet). Nonetheless exactly this behaviour was introduced for power
-saving reasons by commit e8fcfcd5684a ("net: fec: optimize the clock management to save power").
-Therefore add support for the phy_reset_after_clk_enable function from
-phylib to mitigate this issue.
-
-Generally speaking this issue is only relevant if the ref clk for the
-PHY is generated by the SoC and therefore the PHY is configured to
-"REF_CLK In Mode". In our specific case (PCB) this problem does occur at
-about every 10th to 50th POR of an LAN8710 connected to an i.MX6SOLO
-SoC. The typical symptom of this problem is a "swinging" ethernet link.
-Similar issues were reported by users of the NXP forum:
-       https://community.nxp.com/thread/389902
-       https://community.nxp.com/message/309354
-With this patch applied the issue didn't occur for at least a few
-hundret PORs of our board.
-
-Fixes: e8fcfcd5684a ("net: fec: optimize the clock management to save power")
-Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/net/ethernet/freescale/fec_main.c |   20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
---- a/drivers/net/ethernet/freescale/fec_main.c
-+++ b/drivers/net/ethernet/freescale/fec_main.c
-@@ -1872,6 +1872,8 @@ static int fec_enet_clk_enable(struct ne
-               ret = clk_prepare_enable(fep->clk_ref);
-               if (ret)
-                       goto failed_clk_ref;
-+
-+              phy_reset_after_clk_enable(ndev->phydev);
-       } else {
-               clk_disable_unprepare(fep->clk_ahb);
-               clk_disable_unprepare(fep->clk_enet_out);
-@@ -2844,6 +2846,7 @@ fec_enet_open(struct net_device *ndev)
- {
-       struct fec_enet_private *fep = netdev_priv(ndev);
-       int ret;
-+      bool reset_again;
-       ret = pm_runtime_get_sync(&fep->pdev->dev);
-       if (ret < 0)
-@@ -2854,6 +2857,17 @@ fec_enet_open(struct net_device *ndev)
-       if (ret)
-               goto clk_enable;
-+      /* During the first fec_enet_open call the PHY isn't probed at this
-+       * point. Therefore the phy_reset_after_clk_enable() call within
-+       * fec_enet_clk_enable() fails. As we need this reset in order to be
-+       * sure the PHY is working correctly we check if we need to reset again
-+       * later when the PHY is probed
-+       */
-+      if (ndev->phydev && ndev->phydev->drv)
-+              reset_again = false;
-+      else
-+              reset_again = true;
-+
-       /* I should reset the ring buffers here, but I don't yet know
-        * a simple way to do that.
-        */
-@@ -2870,6 +2884,12 @@ fec_enet_open(struct net_device *ndev)
-       if (ret)
-               goto err_enet_mii_probe;
-+      /* Call phy_reset_after_clk_enable() again if it failed during
-+       * phy_reset_after_clk_enable() before because the PHY wasn't probed.
-+       */
-+      if (reset_again)
-+              phy_reset_after_clk_enable(ndev->phydev);
-+
-       if (fep->quirks & FEC_QUIRK_ERR006687)
-               imx6q_cpuidle_fec_irqs_used();
index 128ed93e5963b09f5868a13c15f1b6fbda7fb11f..ed6fb43250feeccfc0ce01f27d903f55359576fa 100644 (file)
@@ -5,7 +5,6 @@ bluetooth-btqcomsmd-fix-skb-double-free-corruption.patch
 cpufreq-longhaul-revert-transition_delay_us-to-200-ms.patch
 media-c8sectpfe-fix-potential-null-pointer-dereference-in-c8sectpfe_timer_interrupt.patch
 drm-msm-fix-leak-in-failed-get_pages.patch
-net-fec-add-phy_reset_after_clk_enable-support.patch
 rdma-iwpm-fix-uninitialized-error-code-in-iwpm_send_mapinfo.patch
 hv_netvsc-fix-the-receive-buffer-size-limit.patch
 hv_netvsc-fix-the-tx-rx-buffer-default-sizes.patch
diff --git a/queue-4.15/net-fec-add-phy_reset_after_clk_enable-support.patch b/queue-4.15/net-fec-add-phy_reset_after_clk_enable-support.patch
deleted file mode 100644 (file)
index 70d6535..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-From foo@baz Thu Mar 22 14:03:39 CET 2018
-From: Richard Leitner <richard.leitner@skidata.com>
-Date: Mon, 11 Dec 2017 13:17:00 +0100
-Subject: net: fec: add phy_reset_after_clk_enable() support
-
-From: Richard Leitner <richard.leitner@skidata.com>
-
-
-[ Upstream commit 1b0a83ac04e383e3bed21332962b90710fcf2828 ]
-
-Some PHYs (for example the SMSC LAN8710/LAN8720) doesn't allow turning
-the refclk on and off again during operation (according to their
-datasheet). Nonetheless exactly this behaviour was introduced for power
-saving reasons by commit e8fcfcd5684a ("net: fec: optimize the clock management to save power").
-Therefore add support for the phy_reset_after_clk_enable function from
-phylib to mitigate this issue.
-
-Generally speaking this issue is only relevant if the ref clk for the
-PHY is generated by the SoC and therefore the PHY is configured to
-"REF_CLK In Mode". In our specific case (PCB) this problem does occur at
-about every 10th to 50th POR of an LAN8710 connected to an i.MX6SOLO
-SoC. The typical symptom of this problem is a "swinging" ethernet link.
-Similar issues were reported by users of the NXP forum:
-       https://community.nxp.com/thread/389902
-       https://community.nxp.com/message/309354
-With this patch applied the issue didn't occur for at least a few
-hundret PORs of our board.
-
-Fixes: e8fcfcd5684a ("net: fec: optimize the clock management to save power")
-Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/net/ethernet/freescale/fec_main.c |   20 ++++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
---- a/drivers/net/ethernet/freescale/fec_main.c
-+++ b/drivers/net/ethernet/freescale/fec_main.c
-@@ -1868,6 +1868,8 @@ static int fec_enet_clk_enable(struct ne
-               ret = clk_prepare_enable(fep->clk_ref);
-               if (ret)
-                       goto failed_clk_ref;
-+
-+              phy_reset_after_clk_enable(ndev->phydev);
-       } else {
-               clk_disable_unprepare(fep->clk_ahb);
-               clk_disable_unprepare(fep->clk_enet_out);
-@@ -2840,6 +2842,7 @@ fec_enet_open(struct net_device *ndev)
- {
-       struct fec_enet_private *fep = netdev_priv(ndev);
-       int ret;
-+      bool reset_again;
-       ret = pm_runtime_get_sync(&fep->pdev->dev);
-       if (ret < 0)
-@@ -2850,6 +2853,17 @@ fec_enet_open(struct net_device *ndev)
-       if (ret)
-               goto clk_enable;
-+      /* During the first fec_enet_open call the PHY isn't probed at this
-+       * point. Therefore the phy_reset_after_clk_enable() call within
-+       * fec_enet_clk_enable() fails. As we need this reset in order to be
-+       * sure the PHY is working correctly we check if we need to reset again
-+       * later when the PHY is probed
-+       */
-+      if (ndev->phydev && ndev->phydev->drv)
-+              reset_again = false;
-+      else
-+              reset_again = true;
-+
-       /* I should reset the ring buffers here, but I don't yet know
-        * a simple way to do that.
-        */
-@@ -2866,6 +2880,12 @@ fec_enet_open(struct net_device *ndev)
-       if (ret)
-               goto err_enet_mii_probe;
-+      /* Call phy_reset_after_clk_enable() again if it failed during
-+       * phy_reset_after_clk_enable() before because the PHY wasn't probed.
-+       */
-+      if (reset_again)
-+              phy_reset_after_clk_enable(ndev->phydev);
-+
-       if (fep->quirks & FEC_QUIRK_ERR006687)
-               imx6q_cpuidle_fec_irqs_used();
index b1d992790568d4b27ab194a097e782d44f58784f..ac043e6699ff711258c10404007485e5e04389f0 100644 (file)
@@ -6,7 +6,6 @@ bluetooth-btqcomsmd-fix-skb-double-free-corruption.patch
 cpufreq-longhaul-revert-transition_delay_us-to-200-ms.patch
 media-c8sectpfe-fix-potential-null-pointer-dereference-in-c8sectpfe_timer_interrupt.patch
 drm-msm-fix-leak-in-failed-get_pages.patch
-net-fec-add-phy_reset_after_clk_enable-support.patch
 ib-ipoib-warn-when-one-port-fails-to-initialize.patch
 rdma-iwpm-fix-uninitialized-error-code-in-iwpm_send_mapinfo.patch
 hv_netvsc-fix-the-receive-buffer-size-limit.patch