aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch')
-rw-r--r--target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch b/target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch
new file mode 100644
index 0000000000..554e3117d8
--- /dev/null
+++ b/target/linux/generic/patches-4.9/076-v4.11-0005-net-phy-broadcom-use-auxctl-reading-helper-in-BCM546.patch
@@ -0,0 +1,45 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
+Date: Wed, 25 Jan 2017 21:00:25 +0100
+Subject: [PATCH] net: phy: broadcom: use auxctl reading helper in BCM54612E
+ code
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting with commit 5b4e29005123 ("net: phy: broadcom: add
+bcm54xx_auxctl_read") we have a reading helper so use it and avoid code
+duplication.
+It also means we don't need MII_BCM54XX_AUXCTL_SHDWSEL_MISC define as
+it's the same as MII_BCM54XX_AUXCTL_SHDWSEL_MISC just for reading needs
+(same value shifted by 12 bits).
+
+Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
+Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+--- a/drivers/net/phy/broadcom.c
++++ b/drivers/net/phy/broadcom.c
+@@ -395,10 +395,8 @@ static int bcm54612e_config_aneg(struct
+ (phydev->interface != PHY_INTERFACE_MODE_RGMII_RXID)) {
+ u16 reg;
+
+- /* Errata: reads require filling in the write selector field */
+- bcm54xx_auxctl_write(phydev, MII_BCM54XX_AUXCTL_SHDWSEL_MISC,
+- MII_BCM54XX_AUXCTL_MISC_RDSEL_MISC);
+- reg = phy_read(phydev, MII_BCM54XX_AUX_CTL);
++ reg = bcm54xx_auxctl_read(phydev,
++ MII_BCM54XX_AUXCTL_SHDWSEL_MISC);
+ /* Disable RXD to RXC delay (default set) */
+ reg &= ~MII_BCM54XX_AUXCTL_MISC_RXD_RXC_SKEW;
+ /* Clear shadow selector field */
+--- a/include/linux/brcmphy.h
++++ b/include/linux/brcmphy.h
+@@ -111,7 +111,6 @@
+
+ #define MII_BCM54XX_AUXCTL_MISC_WREN 0x8000
+ #define MII_BCM54XX_AUXCTL_MISC_FORCE_AMDIX 0x0200
+-#define MII_BCM54XX_AUXCTL_MISC_RDSEL_MISC 0x7000
+ #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC 0x0007
+ #define MII_BCM54XX_AUXCTL_SHDWSEL_READ_SHIFT 12
+ #define MII_BCM54XX_AUXCTL_SHDWSEL_MISC_RGMII_SKEW_EN (1 << 8)