diff options
Diffstat (limited to 'target/linux/mediatek/patches-4.9/0053-net-dsa-mediatek-add-software-phy-polling.patch')
-rw-r--r-- | target/linux/mediatek/patches-4.9/0053-net-dsa-mediatek-add-software-phy-polling.patch | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/target/linux/mediatek/patches-4.9/0053-net-dsa-mediatek-add-software-phy-polling.patch b/target/linux/mediatek/patches-4.9/0053-net-dsa-mediatek-add-software-phy-polling.patch deleted file mode 100644 index a41bcb0..0000000 --- a/target/linux/mediatek/patches-4.9/0053-net-dsa-mediatek-add-software-phy-polling.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 53eec2c3580e63fdebfc25ae324f30cd8aa4403b Mon Sep 17 00:00:00 2001 -From: John Crispin <john@phrozen.org> -Date: Thu, 10 Aug 2017 16:00:46 +0200 -Subject: [PATCH 53/57] net: dsa: mediatek: add software phy polling - -Signed-off-by: John Crispin <john@phrozen.org> ---- - drivers/net/dsa/mt7530.c | 38 ++++++++++++++++++++++++++++++++++++++ - drivers/net/dsa/mt7530.h | 1 + - 2 files changed, 39 insertions(+) - ---- a/drivers/net/dsa/mt7530.c -+++ b/drivers/net/dsa/mt7530.c -@@ -728,6 +728,44 @@ static void mt7530_adjust_link(struct ds - * all finished. - */ - mt7623_pad_clk_setup(ds); -+ } else { -+ u16 lcl_adv = 0, rmt_adv = 0; -+ u8 flowctrl; -+ u32 mcr = PMCR_USERP_LINK | PMCR_FORCE_MODE; -+ -+ switch (phydev->speed) { -+ case SPEED_1000: -+ mcr |= PMCR_FORCE_SPEED_1000; -+ break; -+ case SPEED_100: -+ mcr |= PMCR_FORCE_SPEED_100; -+ break; -+ }; -+ -+ if (phydev->link) -+ mcr |= PMCR_FORCE_LNK; -+ -+ if (phydev->duplex) { -+ mcr |= PMCR_FORCE_FDX; -+ -+ if (phydev->pause) -+ rmt_adv = LPA_PAUSE_CAP; -+ if (phydev->asym_pause) -+ rmt_adv |= LPA_PAUSE_ASYM; -+ -+ if (phydev->advertising & ADVERTISED_Pause) -+ lcl_adv |= ADVERTISE_PAUSE_CAP; -+ if (phydev->advertising & ADVERTISED_Asym_Pause) -+ lcl_adv |= ADVERTISE_PAUSE_ASYM; -+ -+ flowctrl = mii_resolve_flowctrl_fdx(lcl_adv, rmt_adv); -+ -+ if (flowctrl & FLOW_CTRL_TX) -+ mcr |= PMCR_TX_FC_EN; -+ if (flowctrl & FLOW_CTRL_RX) -+ mcr |= PMCR_RX_FC_EN; -+ } -+ mt7530_write(priv, MT7530_PMCR_P(port), mcr); - } - } - ---- a/drivers/net/dsa/mt7530.h -+++ b/drivers/net/dsa/mt7530.h -@@ -155,6 +155,7 @@ enum mt7530_stp_state { - #define PMCR_TX_FC_EN BIT(5) - #define PMCR_RX_FC_EN BIT(4) - #define PMCR_FORCE_SPEED_1000 BIT(3) -+#define PMCR_FORCE_SPEED_100 BIT(2) - #define PMCR_FORCE_FDX BIT(1) - #define PMCR_FORCE_LNK BIT(0) - #define PMCR_COMMON_LINK (PMCR_IFG_XMIT(1) | PMCR_MAC_MODE | \ |