1. 21 7月, 2015 1 次提交
  2. 18 7月, 2015 1 次提交
  3. 11 7月, 2015 2 次提交
  4. 09 7月, 2015 1 次提交
  5. 29 6月, 2015 4 次提交
  6. 25 6月, 2015 1 次提交
  7. 23 6月, 2015 1 次提交
  8. 11 6月, 2015 2 次提交
  9. 09 6月, 2015 2 次提交
  10. 08 6月, 2015 3 次提交
  11. 04 6月, 2015 1 次提交
  12. 01 6月, 2015 1 次提交
  13. 27 5月, 2015 2 次提交
  14. 26 5月, 2015 3 次提交
  15. 25 5月, 2015 1 次提交
  16. 21 5月, 2015 1 次提交
    • T
      net: phy: Make sure phy_start() always re-enables the phy interrupts · c15e10e7
      Tim Beale 提交于
      This is an alternative way of fixing:
       commit db9683fb ("net: phy: Make sure PHY_RESUMING state change
                            is always processed")
      
      When the PHY state transitions from PHY_HALTED to PHY_RESUMING, there are
      two things we need to do:
      1). Re-enable interrupts (and power up the physical link, if powered down)
      2). Update the PHY state and net-device based on the link status.
      
      There's no strict reason why #1 has to be done from within the main
      phy_state_machine() function. There is a risk that other changes to the
      PHY (e.g. setting speed/duplex, which calls phy_start_aneg()) could cause
      a subsequent state transition before phy_state_machine() has processed
      the PHY_RESUMING state change. This would leave the PHY with interrupts
      disabled and/or still in the BMCR_PDOWN/low-power mode.
      
      Moving enabling the interrupts and phy_resume() into phy_start() will
      guarantee this work always gets done. As the PHY is already in the HALTED
      state and interrupts are disabled, it shouldn't conflict with any work
      being done in phy_state_machine(). The downside of this change is that if
      the PHY_RESUMING state is ever entered from anywhere else, it'll also have
      to repeat this work.
      Signed-off-by: NTim Beale <tim.beale@alliedtelesis.co.nz>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c15e10e7
  17. 17 5月, 2015 2 次提交
    • T
      net: phy: Make sure PHY_RESUMING state change is always processed · db9683fb
      Tim Beale 提交于
      If phy_start_aneg() was called while the phydev is in the PHY_RESUMING
      state, then its state would immediately transition to PHY_AN (or
      PHY_FORCING). This meant the phy_state_machine() never processed the
      PHY_RESUMING state change, which meant interrupts weren't enabled for the
      PHY. If the PHY used low-power mode (i.e. using BMCR_PDOWN), then the
      physical link wouldn't get powered up again.
      
      There seems no point for phy_start_aneg() to make the PHY_RESUMING -->
      PHY_AN transition, as the state machine will do this anyway. I'm not sure
      about the case where autoneg is disabled, as my patch will change
      behaviour so that the PHY goes to PHY_NOLINK instead of PHY_FORCING. An
      alternative solution would be to move the phy_config_interrupt() and
      phy_resume() work out of the state machine and into phy_start().
      
      The background behind this: we're running linux v3.16.7 and from user-space
      we want to enable the eth port (i.e. do a SIOCSIFFLAGS ioctl with the
      IFF_UP flag) and immediately afterward set the interface's speed/duplex.
      Enabling the interface calls .ndo_open() then phy_start() and the PHY
      transitions PHY_HALTED --> PHY_RESUMING. Setting the speed/duplex ends up
      calling phy_ethtool_sset(), which calls phy_start_aneg() (meanwhile the
      phy_state_machine() hasn't processed the PHY_RESUMING state change yet).
      Signed-off-by: NTim Beale <tim.beale@alliedtelesis.co.nz>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      db9683fb
    • F
      net: phy: Add state machine state transitions debug prints · 3e2186e0
      Florian Fainelli 提交于
      It can be useful to debug the PHY state machine, add dynamic debug
      prints of the old and new PHY devices state under a friendly format.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3e2186e0
  18. 16 5月, 2015 2 次提交
  19. 15 5月, 2015 2 次提交
  20. 13 5月, 2015 1 次提交
  21. 11 5月, 2015 1 次提交
  22. 10 5月, 2015 1 次提交
    • J
      net: amd-xgbe: Add hardware dependency · 74a78b15
      Jean Delvare 提交于
      The amd-xgbe driver currently only works with the Seattle SoC, which
      is ARM64 architecture, so there is no point in building this driver on
      other architectures except for build testing purpose. The dependency
      list can be updated later if the driver ever supports other
      architectures.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      74a78b15
  23. 28 4月, 2015 1 次提交
  24. 25 4月, 2015 1 次提交
  25. 09 4月, 2015 1 次提交
  26. 04 4月, 2015 1 次提交
    • S
      add fixed_phy_update_state() - update state of fixed_phy · a3bebdce
      Stas Sergeev 提交于
      Currently fixed_phy uses a callback to periodically poll the link state.
      This patch adds the fixed_phy_update_state() API.
      It solves the following problems:
      - On link state interrupt, MAC driver can't update status.
      Instead it needs to provide the callback to periodically query
      the HW about the link state. It is more efficient to update status
      after interrupt.
      - The callback needs to be unregistered before phy_disconnect(),
      or otherwise it will be called with net_dev==NULL. phy_disconnect()
      does not have enough info to unregister the callback automatically.
      - The callback needs to be registered before of_phy_connect() to
      avoid running with outdated state, but of_phy_connect() returns the
      phy_device pointer, which is needed to register the callback. Registering
      it before of_phy_connect() will therefore require a hack to get the
      pointer earlier.
      
      Overall, this addition makes the subsequent patch that implements
      SGMII link status for mvneta, much cleaner.
      
      CC: Florian Fainelli <f.fainelli@gmail.com>
      CC: netdev@vger.kernel.org
      CC: linux-kernel@vger.kernel.org
      Signed-off-by: NStas Sergeev <stsp@users.sourceforge.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a3bebdce