aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch')
-rw-r--r--target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch b/target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
deleted file mode 100644
index 4e6baac0c3..0000000000
--- a/target/linux/generic/patches-4.4/738-net-phy-at803x-only-the-AT8030-needs-a-hardware-rese.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From: Timur Tabi <timur@codeaurora.org>
-Date: Tue, 26 Apr 2016 12:44:18 -0500
-Subject: [PATCH] net: phy: at803x: only the AT8030 needs a hardware reset on
- link change
-
-Commit 13a56b44 ("at803x: Add support for hardware reset") added a
-work-around for a hardware bug on the AT8030. However, the work-around
-was being called for all 803x PHYs, even those that don't need it.
-Function at803x_link_change_notify() checks to make sure that it only
-resets the PHY on the 8030, but it makes more sense to not call that
-function at all if it isn't needed.
-
-Signed-off-by: Timur Tabi <timur@codeaurora.org>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
-
---- a/drivers/net/phy/at803x.c
-+++ b/drivers/net/phy/at803x.c
-@@ -374,27 +374,25 @@ static void at803x_link_change_notify(st
- * in the FIFO. In such cases, the FIFO enters an error mode it
- * cannot recover from by software.
- */
-- if (phydev->drv->phy_id == ATH8030_PHY_ID) {
-- if (phydev->state == PHY_NOLINK) {
-- if (priv->gpiod_reset && !priv->phy_reset) {
-- struct at803x_context context;
--
-- at803x_context_save(phydev, &context);
--
-- gpiod_set_value(priv->gpiod_reset, 1);
-- msleep(1);
-- gpiod_set_value(priv->gpiod_reset, 0);
-- msleep(1);
--
-- at803x_context_restore(phydev, &context);
--
-- dev_dbg(&phydev->dev, "%s(): phy was reset\n",
-- __func__);
-- priv->phy_reset = true;
-- }
-- } else {
-- priv->phy_reset = false;
-+ if (phydev->state == PHY_NOLINK) {
-+ if (priv->gpiod_reset && !priv->phy_reset) {
-+ struct at803x_context context;
-+
-+ at803x_context_save(phydev, &context);
-+
-+ gpiod_set_value(priv->gpiod_reset, 1);
-+ msleep(1);
-+ gpiod_set_value(priv->gpiod_reset, 0);
-+ msleep(1);
-+
-+ at803x_context_restore(phydev, &context);
-+
-+ dev_dbg(&phydev->dev, "%s(): phy was reset\n",
-+ __func__);
-+ priv->phy_reset = true;
- }
-+ } else {
-+ priv->phy_reset = false;
- }
- if (pdata && pdata->fixup_rgmii_tx_delay &&
- phydev->speed != priv->prev_speed) {
-@@ -426,7 +424,6 @@ static struct phy_driver at803x_driver[]
- .phy_id_mask = AT803X_PHY_ID_MASK,
- .probe = at803x_probe,
- .config_init = at803x_config_init,
-- .link_change_notify = at803x_link_change_notify,
- .set_wol = at803x_set_wol,
- .get_wol = at803x_get_wol,
- .suspend = at803x_suspend,
-@@ -468,7 +465,6 @@ static struct phy_driver at803x_driver[]
- .phy_id_mask = AT803X_PHY_ID_MASK,
- .probe = at803x_probe,
- .config_init = at803x_config_init,
-- .link_change_notify = at803x_link_change_notify,
- .set_wol = at803x_set_wol,
- .get_wol = at803x_get_wol,
- .suspend = at803x_suspend,