1. 02 10月, 2018 3 次提交
  2. 13 9月, 2018 6 次提交
  3. 26 7月, 2018 1 次提交
  4. 17 7月, 2018 1 次提交
  5. 25 5月, 2018 1 次提交
  6. 29 4月, 2018 1 次提交
    • F
      net: phy: Fix modular PHYLIB build · 9e8d438e
      Florian Fainelli 提交于
      After commit c59530d0 ("net: Move PHY statistics code into PHY
      library helpers") we made net/core/ethtool.c reference symbols which are
      part of the library which can be modular. David introduced a temporary
      fix with 1ecd6e8a ("phy: Temporary build fix after phylib changes.")
      which would prevent such modularity.
      
      This is not desireable of course, so instead, just inline the functions
      into include/linux/phy.h to keep both options available.
      
      Fixes: c59530d0 ("net: Move PHY statistics code into PHY library helpers")
      Fixes: 1ecd6e8a ("phy: Temporary build fix after phylib changes.")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9e8d438e
  7. 27 4月, 2018 1 次提交
  8. 22 3月, 2018 1 次提交
  9. 12 3月, 2018 1 次提交
    • B
      net: phy: Tell caller result of phy_change() · a2c054a8
      Brad Mouring 提交于
      In 664fcf12 (net: phy: Threaded interrupts allow some simplification)
      the phy_interrupt system was changed to use a traditional threaded
      interrupt scheme instead of a workqueue approach.
      
      With this change, the phy status check moved into phy_change, which
      did not report back to the caller whether or not the interrupt was
      handled. This means that, in the case of a shared phy interrupt,
      only the first phydev's interrupt registers are checked (since
      phy_interrupt() would always return IRQ_HANDLED). This leads to
      interrupt storms when it is a secondary device that's actually the
      interrupt source.
      Signed-off-by: NBrad Mouring <brad.mouring@ni.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a2c054a8
  10. 02 3月, 2018 1 次提交
  11. 28 2月, 2018 1 次提交
  12. 17 1月, 2018 1 次提交
  13. 16 1月, 2018 1 次提交
  14. 04 1月, 2018 3 次提交
  15. 03 1月, 2018 2 次提交
  16. 14 12月, 2017 1 次提交
    • R
      phylib: add reset after clk enable support · a9668491
      Richard Leitner 提交于
      Some PHYs need the refclk to be a continuous clock. Therefore they don't
      allow turning it off and on again during operation. Nonetheless such a
      clock switching is performed by some ETH drivers (namely FEC [1]) for
      power saving reasons. An example for an affected PHY is the
      SMSC/Microchip LAN8720 in "REF_CLK In Mode".
      
      In order to provide a uniform method to overcome this problem this patch
      adds a new phy_driver flag (PHY_RST_AFTER_CLK_EN) and corresponding
      function phy_reset_after_clk_enable() to the phylib. These should be
      used to trigger reset of the PHY after the refclk is switched on again.
      
      [1] commit e8fcfcd5 ("net: fec: optimize the clock management to save power")
      Signed-off-by: NRichard Leitner <richard.leitner@skidata.com>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a9668491
  17. 06 12月, 2017 2 次提交
  18. 04 12月, 2017 1 次提交
  19. 02 12月, 2017 1 次提交
  20. 30 11月, 2017 1 次提交
  21. 08 11月, 2017 1 次提交
  22. 07 8月, 2017 4 次提交
    • R
      phylink: add phylink infrastructure · 9525ae83
      Russell King 提交于
      The link between the ethernet MAC and its PHY has become more complex
      as the interface evolves.  This is especially true with serdes links,
      where the part of the PHY is effectively integrated into the MAC.
      
      Serdes links can be connected to a variety of devices, including SFF
      modules soldered down onto the board with the MAC, a SFP cage with
      a hotpluggable SFP module which may contain a PHY or directly modulate
      the serdes signals onto optical media with or without a PHY, or even
      a classical PHY connection.
      
      Moreover, the negotiation information on serdes links comes in two
      varieties - SGMII mode, where the PHY provides its speed/duplex/flow
      control information to the MAC, and 1000base-X mode where both ends
      exchange their abilities and each resolve the link capabilities.
      
      This means we need a more flexible means to support these arrangements,
      particularly with the hotpluggable nature of SFP, where the PHY can
      be attached or detached after the network device has been brought up.
      
      Ethtool information can come from multiple sources:
      - we may have a PHY operating in either SGMII or 1000base-X mode, in
        which case we take ethtool/mii data directly from the PHY.
      - we may have a optical SFP module without a PHY, with the MAC
        operating in 1000base-X mode - the ethtool/mii data needs to come
        from the MAC.
      - we may have a copper SFP module with a PHY whic can't be accessed,
        which means we need to take ethtool/mii data from the MAC.
      
      Phylink aims to solve this by providing an intermediary between the
      MAC and PHY, providing a safe way for PHYs to be hotplugged, and
      allowing a SFP driver to reconfigure the serdes connection.
      
      Phylink also takes over support of fixed link connections, where the
      speed/duplex/flow control are fixed, but link status may be controlled
      by a GPIO signal.  By avoiding the fixed-phy implementation, phylink
      can provide a faster response to link events: fixed-phy has to wait for
      phylib to operate its state machine, which can take several seconds.
      In comparison, phylink takes milliseconds.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      
      - remove sync status
      - rework supported and advertisment handling
      - add 1000base-x speed for fixed links
      - use functionality exported from phy-core, reworking
        __phylink_ethtool_ksettings_set for it
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9525ae83
    • R
      net: phy: provide a hook for link up/link down events · a81497be
      Russell King 提交于
      Sometimes, we need to do additional work between the PHY coming up and
      marking the carrier present - for example, we may need to wait for the
      PHY to MAC link to finish negotiation.  This changes phylib to provide
      a notification function pointer which avoids the built-in
      netif_carrier_on() and netif_carrier_off() functions.
      
      Standard ->adjust_link functionality is provided by hooking a helper
      into the new ->phy_link_change method.
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a81497be
    • R
      net: phy: move phy_lookup_setting() and guts of phy_supported_speeds() to phy-core · 0ccb4fc6
      Russell King 提交于
      phy_lookup_setting() provides useful functionality in ethtool code
      outside phylib.  Move it to phy-core and allow it to be re-used (eg,
      in phylink) rather than duplicated elsewhere.  Note that this supports
      the larger linkmode space.
      
      As we move the phy settings table, we also need to move the guts of
      phy_supported_speeds() as well.
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0ccb4fc6
    • R
      net: phy: split out PHY speed and duplex string generation · da4625ac
      Russell King 提交于
      Other code would like to make use of this, so make the speed and duplex
      string generation visible, and place it in a separate file.
      Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      da4625ac
  23. 26 7月, 2017 1 次提交
  24. 03 7月, 2017 1 次提交
  25. 24 6月, 2017 1 次提交
  26. 14 6月, 2017 1 次提交