aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0293-net-phy-use-unlocked-accessors-for-indirect-MMD-acce.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0293-net-phy-use-unlocked-accessors-for-indirect-MMD-acce.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0293-net-phy-use-unlocked-accessors-for-indirect-MMD-acce.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0293-net-phy-use-unlocked-accessors-for-indirect-MMD-acce.patch b/target/linux/brcm2708/patches-4.14/950-0293-net-phy-use-unlocked-accessors-for-indirect-MMD-acce.patch
new file mode 100644
index 0000000000..9f4cc1c7d9
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0293-net-phy-use-unlocked-accessors-for-indirect-MMD-acce.patch
@@ -0,0 +1,56 @@
+From 2d490ea00f141384d57c7e18e44b34e94e572b26 Mon Sep 17 00:00:00 2001
+From: Russell King <rmk+kernel@armlinux.org.uk>
+Date: Tue, 2 Jan 2018 10:58:32 +0000
+Subject: [PATCH 293/454] net: phy: use unlocked accessors for indirect MMD
+ accesses
+
+commit 1b2dea2e6a6e3399e88784d57aea80f4fd5e8956 upstream.
+
+Use unlocked accessors for indirect MMD accesses to clause 22 PHYs.
+This permits tracing of these accesses.
+
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/phy/phy-core.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/phy/phy-core.c
++++ b/drivers/net/phy/phy-core.c
+@@ -193,13 +193,14 @@ static void mmd_phy_indirect(struct mii_
+ u16 regnum)
+ {
+ /* Write the desired MMD Devad */
+- bus->write(bus, phy_addr, MII_MMD_CTRL, devad);
++ __mdiobus_write(bus, phy_addr, MII_MMD_CTRL, devad);
+
+ /* Write the desired MMD register address */
+- bus->write(bus, phy_addr, MII_MMD_DATA, regnum);
++ __mdiobus_write(bus, phy_addr, MII_MMD_DATA, regnum);
+
+ /* Select the Function : DATA with no post increment */
+- bus->write(bus, phy_addr, MII_MMD_CTRL, devad | MII_MMD_CTRL_NOINCR);
++ __mdiobus_write(bus, phy_addr, MII_MMD_CTRL,
++ devad | MII_MMD_CTRL_NOINCR);
+ }
+
+ /**
+@@ -232,7 +233,7 @@ int phy_read_mmd(struct phy_device *phyd
+ mmd_phy_indirect(bus, phy_addr, devad, regnum);
+
+ /* Read the content of the MMD's selected register */
+- val = bus->read(bus, phy_addr, MII_MMD_DATA);
++ val = __mdiobus_read(bus, phy_addr, MII_MMD_DATA);
+ mutex_unlock(&bus->mdio_lock);
+ }
+ return val;
+@@ -271,7 +272,7 @@ int phy_write_mmd(struct phy_device *phy
+ mmd_phy_indirect(bus, phy_addr, devad, regnum);
+
+ /* Write the data into MMD's selected register */
+- bus->write(bus, phy_addr, MII_MMD_DATA, val);
++ __mdiobus_write(bus, phy_addr, MII_MMD_DATA, val);
+ mutex_unlock(&bus->mdio_lock);
+
+ ret = 0;