• Vince Bridgers's avatar
    net: libphy: Add phy specific function to access mmd phy registers · 0c1d77df
    Vince Bridgers authored
    libphy was originally written assuming all phy devices support clause 45
    access extensions to the mmd registers through the indirection registers
    located within the first 16 phy registers. This assumption is not true
    in all cases, and one specific example is the Micrel ksz9021 10/100/1000
    Mbps phy. Using the stmmac driver, accessing the mmd registers to query
    and configure energy efficient Ethernet (EEE) features yielded unexpected
    behavior.
    
    This patch adds mmd access functions to the phy driver that can be
    overriden by the phy specific driver if the phy does not support this
    mechanism or uses it's own non-standard access mechanism. By default,
    the IEEE Compatible clause 45 access mechanism described in clause 22
    is used. With this patch, EEE query/configure functions as expected
    using the stmmac and the Micrel ksz9021 phy.
    Signed-off-by: default avatarVince Bridgers <vbridgers2013@gmail.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0c1d77df
phy.c 29.3 KB