[PATCH mvebu-dt] ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin

Andrew Lunn andrew at lunn.ch
Sat Feb 20 19:10:57 EST 2021


On Sun, Feb 21, 2021 at 12:11:44AM +0100, Marek Behún wrote:
> Use the `marvell,reg-init` DT property to configure the LED[2]/INTn pin
> of the Marvell 88E1514 ethernet PHY on Turris Omnia into interrupt mode.
> 
> Without this the pin is by default in LED[2] mode, and the Marvell PHY
> driver configures LED[2] into "On - Link, Blink - Activity" mode.
> 
> This fixes the issue where the pca9538 GPIO/interrupt controller (which
> can't mask interrupts in HW) received too many interrupts and after a
> time started ignoring the interrupt with error message:
>   IRQ 71: nobody cared

Hi Marek

The pca9538 and alike are a poor choice for interrupts. As you said,
you cannot mask interrupts, and input are interrupt sources.

With this change, does it actually work reliably? It looks like all
the inputs you have support polling. And because this devices is so
unreliable with interrupts, interrupt support is mostly not built. I
would not expect a distribution kernel to enable interrupt support for
this driver. Does all the code correctly fall back to polling when
interrupts are not available?

So although the patch looks O.K, i'm just wonder if it is worth it, or
the better fix is to remove the interrupt configuration from the
pca9538 node.

	Andrew



More information about the linux-arm-kernel mailing list