]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'dsa-mv88e6xxx-Improve-indirect-addressing-performance'
authorDavid S. Miller <davem@davemloft.net>
Mon, 31 Jan 2022 11:29:13 +0000 (11:29 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 31 Jan 2022 11:29:13 +0000 (11:29 +0000)
commit2833b4718b7f94e8d759a9fcc9dfc904c4ebf622
treece7222aed80d444ba6a7059e66d67842b69fb47d
parentc608c2c4c032fb41919fa2656a11b92da5523d9f
parent9d356d61c63200f8777c2233ab1b0d1c56658eb9
Merge branch 'dsa-mv88e6xxx-Improve-indirect-addressing-performance'

Tobias Waldekranz says:

====================
net: dsa: mv88e6xxx: Improve indirect addressing performance

The individual patches have all the details. This work was triggered
by recent work on a platform that took 16s (sic) to load the mv88e6xxx
module.

The first patch gets rid of most of that time by replacing a very long
delay with a tighter poll loop to wait for the busy bit to clear.

The second patch shaves off some more time by avoiding redundant
busy-bit-checks, saving 1 out of 4 MDIO operations for every register
read/write in the optimal case.

v1 -> v2:
- Make sure that we always poll the busy bit at least twice, in the
  unlikely event that the first one is quick to query the hardware,
  but is then scheduled out for a long time before the timeout is
  checked.

v2 -> v3:
- Fallback to the longer sleeps after the initial two poll attempts.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>