• Florian Fainelli's avatar
    net: phy: bcm7xxx: Fixed indirect MMD operations · d88fd1b5
    Florian Fainelli authored
    When EEE support was added to the 28nm EPHY it was assumed that it would
    be able to support the standard clause 45 over clause 22 register access
    method. It turns out that the PHY does not support that, which is the
    very reason for using the indirect shadow mode 2 bank 3 access method.
    
    Implement {read,write}_mmd to allow the standard PHY library routines
    pertaining to EEE querying and configuration to work correctly on these
    PHYs. This forces us to implement a __phy_set_clr_bits() function that
    does not grab the MDIO bus lock since the PHY driver's {read,write}_mmd
    functions are always called with that lock held.
    
    Fixes: 83ee102a ("net: phy: bcm7xxx: add support for 28nm EPHY")
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d88fd1b5
bcm7xxx.c 20.3 KB