diff options
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.patch | 56 |
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; |