From: Andrew Lunn <and...@lunn.ch>
Date: Sat,  2 May 2020 17:25:04 +0200

> Measurements of the MDIO bus have shown that driving the MDIO bus
> using interrupts is slow. Back to back MDIO transactions take about
> 90us, with 25us spent performing the transaction, and the remainder of
> the time the bus is idle.
> 
> Replacing the completion interrupt with polled IO results in back to
> back transactions of 40us. The polling loop waiting for the hardware
> to complete the transaction takes around 28us. Which suggests
> interrupt handling has an overhead of 50us, and polled IO nearly
> halves this overhead, and doubles the MDIO performance.
> 
> Care has to be taken when setting the MII_SPEED register, or it can
> trigger an MII event> That then upsets the polling, due to an
> unexpected pending event.
> 
> Suggested-by: Chris Heally <cphe...@gmail.com>
> Signed-off-by: Andrew Lunn <and...@lunn.ch>
> Signed-off-by: David S. Miller <da...@davemloft.net>

Applied, thanks Andrew.

Reply via email to