Re: [PATCH v2 3/7] arm64: dts: freescale: Add Lino iMX93

From: Francesco Dolcini

Date: Tue Sep 15 2026 - 14:12:35 EST


Hello Andrew,

On Tue, Sep 15, 2026 at 06:49:19PM +0200, Andrew Lunn wrote:
> On Tue, Sep 15, 2026 at 03:28:06PM +0200, Francesco Dolcini wrote:
> > On Tue, Sep 15, 2026 at 03:19:45PM +0200, Andrew Lunn wrote:
> > > > + ethphy1: ethernet-phy@1 {
> > > > + reg = <1>;
> > > > + interrupt-parent = <&adapter_gpio_expander>;
> > > > + interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
> > >
> > > Falling interrupts is probably wrong. They are normally level, active
> > > low.
> >
> > It is wanted. The I2C ioexpander component used for the interrupt
> > supports only edge interrupts. We tested it and it works fine like that.
>
> It works, until it does not work, because you hit a race condition
> with the hardware, two interrupts in quick succession. The second one
> gets lost, and your link remains down forever.

Would you mind to articulate in which situation such race condition can
happen? I tried to think a little bit about it and I cannot think of
anything. I asked google about it and it pointed out to a patch of
myself ... (https://lkml.org/lkml/2022/5/16/1186)

This limitation is something that exist also with the TI SoC, for
example, also there only edge is supported.

> > - when we tested it, the SW emulation was not really reliable, and we
> > prefer to play on the safe side
>
> If you want to be safe, delete the interrupt properties and let phylib
> poll the PHY. That always works.

Yes, with the 1Hz polling. That might be too slow for some use cases.

Francesco