Re: [PATCH v2 net] net: phy: mxl-gpy: add MDINT workaround
From: Andrew Lunn
Date: Mon Dec 05 2022 - 15:10:29 EST
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@xxxxxxxx>
Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Andrew