[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190130172818.GJ21904@lunn.ch>
Date: Wed, 30 Jan 2019 18:28:18 +0100
From: Andrew Lunn <andrew@...n.ch>
To: John David Anglin <dave.anglin@...l.net>
Cc: Russell King <linux@....linux.org.uk>,
Vivien Didelot <vivien.didelot@...oirfairelinux.com>,
Florian Fainelli <f.fainelli@...il.com>, netdev@...r.kernel.org
Subject: Re: net: phylink: dsa: mv88e6xxx: flaky link detection on switch
ports with internal PHYs
On Wed, Jan 30, 2019 at 12:08:39PM -0500, John David Anglin wrote:
> On 2019-01-22 7:22 p.m., Andrew Lunn wrote:
> > >From my Espressobin
> >
> > cat /proc/interrupts
> > ...
> > 44: 0 0 mv88e6xxx-g1 3 Edge mv88e6xxx-g1-atu-prob
> > 46: 0 0 mv88e6xxx-g1 5 Edge mv88e6xxx-g1-vtu-prob
> > 48: 38 24 mv88e6xxx-g1 7 Edge mv88e6xxx-g2
> > 51: 0 1 mv88e6xxx-g2 1 Edge !soc!internal-regs@...00000!mdio@...04!switch0@...dio:11
> > 52: 0 0 mv88e6xxx-g2 2 Edge !soc!internal-regs@...00000!mdio@...04!switch0@...dio:12
> > 53: 38 23 mv88e6xxx-g2 3 Edge !soc!internal-regs@...00000!mdio@...04!switch0@...dio:13
> >
> > These are PHY interrupts.
> If we come back to my trying to use the INTn pin on the esspressobin, I
> have found that clearing and resetting the interrupt
> enable bits in the global control register (offset 0x4) restarts link
> detection when the device is stuck. This suggests that the
> INTn connection to MPP2_23 is low when the the GIC interrupt is enabled
> on this pin. Possibly, this is caused by the fact
> that EEIntEn is set to 1 on reset. INTn then goes low when EEPROM
> loading is done. Another possibility might be race conditions
> in processing interrupts.
>
> Thoughts?
Hi David
You need active low interrupts. Without it, i think you are always
going to have race conditions which will cause interrupts to get
stuck/lost.
I would suggest you remove the interrupt from your device tree and use
the mv88e6xxx polling method. If i remember correctly, it currently
polls 10 per second, so PHY link up/down is going to be 5 times faster
on average than when phylib is polling the PHY.
Andrew
Powered by blists - more mailing lists