• Lennert Buytenhek's avatar
    dsa: add support for the Marvell 88E6131 switch chip · 2e5f0320
    Lennert Buytenhek authored
    Add support for the Marvell 88E6131 switch chip.  This chip only
    supports the original (ethertype-less) DSA tagging format.
    
    On the 88E6131, there is a PHY Polling Unit (PPU) which has exclusive
    access to each of the PHYs's MII management registers.  If we want to
    talk to the PHYs from software, we have to disable the PPU and wait
    for it to complete its current transaction before we can do so, and we
    need to re-enable the PPU afterwards to make sure that the switch will
    notice changes in link state and speed on the individual ports as they
    occur.
    
    Since disabling the PPU is rather slow, and since MII management
    accesses are typically done in bursts, this patch keeps the PPU disabled
    for 10ms after a software access completes.  This makes handling the
    PPU slightly more complex, but speeds up something like running ethtool
    on one of the switch slave interfaces from ~300ms to ~30ms on typical
    hardware.
    Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
    Tested-by: default avatarNicolas Pitre <nico@marvell.com>
    Tested-by: default avatarPeter van Valderen <linux@ddcrew.com>
    Tested-by: default avatarDirk Teurlings <dirk@upexia.nl>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    2e5f0320
Kconfig 937 Bytes