Messages in this thread | | | Date | Mon, 5 Dec 2022 21:08:54 +0100 | From | Andrew Lunn <> | Subject | Re: [PATCH v2 net] net: phy: mxl-gpy: add MDINT workaround |
| |
On Mon, Dec 05, 2022 at 09:04:53PM +0100, Michael Walle wrote: > At least the GPY215B and GPY215C has a bug where it is still driving the > interrupt line (MDINT) even after the interrupt status register is read > and its bits are cleared. This will cause an interrupt storm. > > Although the MDINT is multiplexed with a GPIO pin and theoretically we > could switch the pinmux to GPIO input mode, this isn't possible because > the access to this register will stall exactly as long as the interrupt > line is asserted. We exploit this very fact and just read a random > internal register in our interrupt handler. This way, it will be delayed > until the external interrupt line is released and an interrupt storm is > avoided. > > The internal register access via the mailbox was deduced by looking at > the downstream PHY API because the datasheet doesn't mention any of > this. > > Fixes: 7d901a1e878a ("net: phy: add Maxlinear GPY115/21x/24x driver") > Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
| |