aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Lunn <andrew@lunn.ch>2018-12-08 16:12:13 +0100
committerDavid S. Miller <davem@davemloft.net>2018-12-08 21:33:30 -0800
commitdc9d38cec71c508963b8f41c9d6d9cfd7e4ee393 (patch)
treef6472abc7aacc40c5c41f2d3f548f3b6f1a0e974
parentnet: phy: mdio-gpio: Add platform_data support for phy_mask (diff)
downloadlinux-dev-dc9d38cec71c508963b8f41c9d6d9cfd7e4ee393.tar.xz
linux-dev-dc9d38cec71c508963b8f41c9d6d9cfd7e4ee393.zip
net: phy: mdio-gpio: Add phy_ignore_ta_mask to platform data
The Marvell 6390 Ethernet switch family does not perform MDIO turnaround correctly. Many hardware MDIO bus masters don't care about this, but the bitbangging implementation in Linux does by default. Add phy_ignore_ta_mask to the platform data so that the bitbangging code can be told which devices are known to get TA wrong. v2 Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/phy/mdio-gpio.c4
-rw-r--r--include/linux/platform_data/mdio-gpio.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c
index 1e296dd4067a..ea9a0e339778 100644
--- a/drivers/net/phy/mdio-gpio.c
+++ b/drivers/net/phy/mdio-gpio.c
@@ -130,8 +130,10 @@ static struct mii_bus *mdio_gpio_bus_init(struct device *dev,
else
strncpy(new_bus->id, "gpio", MII_BUS_ID_SIZE);
- if (pdata)
+ if (pdata) {
new_bus->phy_mask = pdata->phy_mask;
+ new_bus->phy_ignore_ta_mask = pdata->phy_ignore_ta_mask;
+ }
dev_set_drvdata(dev, new_bus);
diff --git a/include/linux/platform_data/mdio-gpio.h b/include/linux/platform_data/mdio-gpio.h
index a5d5ff5e174c..13874fa6e767 100644
--- a/include/linux/platform_data/mdio-gpio.h
+++ b/include/linux/platform_data/mdio-gpio.h
@@ -8,6 +8,7 @@
struct mdio_gpio_platform_data {
u32 phy_mask;
+ u32 phy_ignore_ta_mask;
};
#endif /* __LINUX_MDIO_GPIO_PDATA_H */