[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181118170924.GF5591@lunn.ch>
Date: Sun, 18 Nov 2018 18:09:24 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Cc: netdev@...r.kernel.org, devicetree@...r.kernel.org,
f.fainelli@...il.com, mark.rutland@....com, robh+dt@...nel.org,
davem@...emloft.net, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 6/7] net: phy: icplus: implement .did_interrupt for
IP101A/G
On Sat, Nov 17, 2018 at 07:20:06PM +0100, Martin Blumenstingl wrote:
> The IP101A_G_IRQ_CONF_STATUS register has bits to detect which
> interrupts have fired. Implement the .did_interrupt callback to let the
> PHY core know whether the interrupt was for this specific PHY.
>
> This is useful for debugging interrupt problems with 32-pin IP101GR PHYs
> where the interrupt line is shared with the RX_ERR (receive error
> status) signal. The default values are:
> - RX_ERR is enabled by default (LOW means that there is no receive
> error)
> - the PHY's interrupt line is configured "active low" by default
>
> Without any additional changes there is a flood of interrupts if the
> RX_ERR/INTR32 signal is configured in RX_ERR mode (which is the
> default). Having a did_interrupt ensures that the PHY core returns
> IRQ_NONE instead of endlessly triggering the PHY state machine.
> Additionally the kernel will report this after a while:
> irq 28: nobody cared (try booting with the "irqpoll" option)
That is a useful hint.
>
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@...glemail.com>
Reviewed-by: Andrew Lunn <andrew@...n.ch>
Andrew
Powered by blists - more mailing lists