aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic
diff options
context:
space:
mode:
authorINAGAKI Hiroshi <musashino.open@gmail.com>2020-03-30 15:19:50 +0900
committerChuanhong Guo <gch981213@gmail.com>2020-04-04 17:20:13 +0800
commit817e1323322c9d58464330a15994e8693b48b9c5 (patch)
tree6cb190f099b7cb6900d721696796407721c7b958 /target/linux/generic
parente714cf4195b5798f40a3442c01233ce4783ef0ad (diff)
downloadupstream-817e1323322c9d58464330a15994e8693b48b9c5.tar.gz
upstream-817e1323322c9d58464330a15994e8693b48b9c5.tar.bz2
upstream-817e1323322c9d58464330a15994e8693b48b9c5.zip
kernel: rtl8367b: use id as a bit offset for BYPASS_LINE_RATE
In RTL8367B (RTL8367RB/RTL8367R-VB), the driver in GPL tars of the devices with this switch directly uses the ID of external interface as a bit offset. We should use the same way. ref (RTL8367B): - ASUS RT-N56U - TP-Link Archer C2 v1 ref (RTL8367): - TP-Link TL-WR2543ND v1 Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Diffstat (limited to 'target/linux/generic')
-rw-r--r--target/linux/generic/files/drivers/net/phy/rtl8367b.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/target/linux/generic/files/drivers/net/phy/rtl8367b.c b/target/linux/generic/files/drivers/net/phy/rtl8367b.c
index de1976f13a..1b1d5001a3 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8367b.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8367b.c
@@ -813,8 +813,7 @@ static int rtl8367b_extif_set_mode(struct rtl8366_smi *smi, int id,
case RTL8367_EXTIF_MODE_TMII_MAC:
case RTL8367_EXTIF_MODE_TMII_PHY:
- REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG,
- BIT((id + 1) % 2), BIT((id + 1) % 2));
+ REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG, BIT(id), BIT(id));
break;
case RTL8367_EXTIF_MODE_GMII:
@@ -827,8 +826,7 @@ static int rtl8367b_extif_set_mode(struct rtl8366_smi *smi, int id,
case RTL8367_EXTIF_MODE_MII_MAC:
case RTL8367_EXTIF_MODE_MII_PHY:
case RTL8367_EXTIF_MODE_DISABLED:
- REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG,
- BIT((id + 1) % 2), 0);
+ REG_RMW(smi, RTL8367B_BYPASS_LINE_RATE_REG, BIT(id), 0);
REG_RMW(smi, RTL8367B_EXT_RGMXF_REG(id), BIT(6), 0);
break;