13 Oct, 2012

1 commit


01 Jul, 2012

1 commit

  • This patch adds the support for the Energy-Efficient Ethernet (EEE)
    to the Physical Abstraction Layer.
    To support the EEE we have to access to the MMD registers 3.20 and
    7.60/61. So two new functions have been added to read/write the MMD
    registers (clause 45).

    An Ethernet driver (I tested the stmmac) can invoke the phy_init_eee to properly
    check if the EEE is supported by the PHYs and it can also set the clock
    stop enable bit in the 3.0 register.
    The phy_get_eee_err can be used for reporting the number of time where
    the PHY failed to complete its normal wake sequence.

    In the end, this patch also adds the EEE ethtool support implementing:
    o phy_ethtool_set_eee
    o phy_ethtool_get_eee

    v1: initial patch
    v2: fixed some errors especially on naming convention
    v3: renamed again the mmd read/write functions thank to Ben's feedback
    v4: moved file to phy.c and added the ethtool support.
    v5: fixed phy_adv_to_eee, phy_eee_to_supported, phy_eee_to_adv return
    values according to ethtool API (thanks to Ben's feedback).
    Renamed some macros to avoid too long names.
    v6: fixed kernel-doc comments to be properly parsed.
    Fixed the phy_init_eee function: we need to check which link mode
    was autonegotiated and then the corresponding bits in 7.60 and 7.61
    registers.
    v7: reviewed the way to get the negotiated settings.
    v8: fixed a problem in the phy_init_eee return value erroneously added
    when included the phy_read_status call.
    v9: do not remove the MDIO_AN_EEE_ADV_100TX and MDIO_AN_EEE_ADV_1000T
    and fixed the eee_{cap,lp,adv} declaration as "int" instead of u16.

    Signed-off-by: Giuseppe Cavallaro
    Reviewed-by: Ben Hutchings
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     

22 Nov, 2011

1 commit


17 Nov, 2011

1 commit

  • Translating between ethtool advertisement settings and MII
    advertisements are common operations for ethernet drivers. This patch
    adds a set of helper functions that implements the conversion. The
    patch then modifies a couple of the drivers to use the new functions.

    Signed-off-by: Matt Carlson
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Matt Carlson
     

16 Sep, 2011

2 commits


15 Jun, 2011

1 commit


30 Apr, 2009

2 commits


16 Dec, 2008

2 commits

  • These 4 drivers have identical full duplex flow control resolution
    functions. This patch changes them all to use one common function.

    The function in question decides whether a device should enable TX and
    RX flow control in a standard way (IEEE 802.3-2005 table 28B-3), so this
    should also be useful for other drivers.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • flags used within drivers for indicating tx and rx flow control are
    defined in 4 drivers (and probably more), move these constants to mii.h.

    The 3 SMSC drivers use the same constants (FLOW_CTRL_TX), but TG3 uses
    TG3_FLOW_CTRL_TX, so this patch also renames the constants within TG3.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning