summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Walle <michael@walle.cc>2023-01-09 13:30:13 +0100
committerPaolo Abeni <pabeni@redhat.com>2023-01-10 13:38:37 +0100
commit97a89ed101bbb790e80b562f9cb95f0cfd05f430 (patch)
treea1f58aba00107836b94e29698c65988f2fa5af95
parent7d885863e716757553197687f304da1f538f61e1 (diff)
downloadlinux-97a89ed101bbb790e80b562f9cb95f0cfd05f430.tar.gz
linux-97a89ed101bbb790e80b562f9cb95f0cfd05f430.tar.bz2
linux-97a89ed101bbb790e80b562f9cb95f0cfd05f430.zip
net: phy: mxl-gpy: disable interrupts on GPY215 by default
The interrupts on the GPY215B and GPY215C are broken and the only viable fix is to disable them altogether. There is still the possibilty to opt-in via the device tree. Signed-off-by: Michael Walle <michael@walle.cc> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r--drivers/net/phy/mxl-gpy.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/phy/mxl-gpy.c b/drivers/net/phy/mxl-gpy.c
index 147d7a5a9b35..e5972b4ef6e8 100644
--- a/drivers/net/phy/mxl-gpy.c
+++ b/drivers/net/phy/mxl-gpy.c
@@ -12,6 +12,7 @@
#include <linux/mutex.h>
#include <linux/phy.h>
#include <linux/polynomial.h>
+#include <linux/property.h>
#include <linux/netdevice.h>
/* PHY ID */
@@ -292,6 +293,10 @@ static int gpy_probe(struct phy_device *phydev)
phydev->priv = priv;
mutex_init(&priv->mbox_lock);
+ if (gpy_has_broken_mdint(phydev) &&
+ !device_property_present(dev, "maxlinear,use-broken-interrupts"))
+ phydev->dev_flags |= PHY_F_NO_IRQ;
+
fw_version = phy_read(phydev, PHY_FWV);
if (fw_version < 0)
return fw_version;