1. 07 5月, 2020 4 次提交
  2. 01 5月, 2020 6 次提交
  3. 29 4月, 2020 1 次提交
  4. 26 4月, 2020 1 次提交
  5. 25 4月, 2020 4 次提交
  6. 24 4月, 2020 3 次提交
  7. 23 4月, 2020 9 次提交
  8. 21 4月, 2020 3 次提交
  9. 19 4月, 2020 3 次提交
  10. 15 4月, 2020 3 次提交
  11. 12 4月, 2020 1 次提交
    • C
      net: phy: marvell: Fix pause frame negotiation · 3b72f84f
      Clemens Gruber 提交于
      The negotiation of flow control / pause frame modes was broken since
      commit fcf1f59a ("net: phy: marvell: rearrange to use
      genphy_read_lpa()") moved the setting of phydev->duplex below the
      phy_resolve_aneg_pause call. Due to a check of DUPLEX_FULL in that
      function, phydev->pause was no longer set.
      
      Fix it by moving the parsing of the status variable before the blocks
      dealing with the pause frames.
      
      As the Marvell 88E1510 datasheet does not specify the timing between the
      link status and the "Speed and Duplex Resolved" bit, we have to force
      the link down as long as the resolved bit is not set, to avoid reporting
      link up before we even have valid Speed/Duplex.
      
      Tested with a Marvell 88E1510 (RGMII to Copper/1000Base-T)
      
      Fixes: fcf1f59a ("net: phy: marvell: rearrange to use genphy_read_lpa()")
      Signed-off-by: NClemens Gruber <clemens.gruber@pqgruber.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      3b72f84f
  12. 08 4月, 2020 1 次提交
  13. 04 4月, 2020 1 次提交
    • O
      net: phy: micrel: kszphy_resume(): add delay after genphy_resume() before accessing PHY registers · 6110dff7
      Oleksij Rempel 提交于
      After the power-down bit is cleared, the chip internally triggers a
      global reset. According to the KSZ9031 documentation, we have to wait at
      least 1ms for the reset to finish.
      
      If the chip is accessed during reset, read will return 0xffff, while
      write will be ignored. Depending on the system performance and MDIO bus
      speed, we may or may not run in to this issue.
      
      This bug was discovered on an iMX6QP system with KSZ9031 PHY and
      attached PHY interrupt line. If IRQ was used, the link status update was
      lost. In polling mode, the link status update was always correct.
      
      The investigation showed, that during a read-modify-write access, the
      read returned 0xffff (while the chip was still in reset) and
      corresponding write hit the chip _after_ reset and triggered (due to the
      0xffff) another reset in an undocumented bit (register 0x1f, bit 1),
      resulting in the next write being lost due to the new reset cycle.
      
      This patch fixes the issue by adding a 1...2 ms sleep after the
      genphy_resume().
      
      Fixes: 836384d2 ("net: phy: micrel: Add specific suspend")
      Signed-off-by: NOleksij Rempel <o.rempel@pengutronix.de>
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6110dff7