1. 21 Dec, 2019 9 commits
  2. 20 Dec, 2019 28 commits
  3. 19 Dec, 2019 3 commits
    • David S. Miller's avatar
      Merge branch 'phylib-consolidation' · d8e419da
      David S. Miller authored
      Russell King says:
      
      ====================
      phylib consolidation
      
      Over the last few releases, there has been a push to clean up and
      consolidate the phylib code. Some cases have been missed, and this
      series catches those cases.
      
      1. Remove redundant .aneg_done initialisers; calling genphy_aneg_done()
         for clause 22 PHYs is the default when .aneg_done is not set.
      
      2. Some PHY drivers manually set phydev->pause and phydev->asym_pause,
         but we have a helper for this - phy_resolve_aneg_pause(), introduced
         in 2d880b87 ("net: phy: extract pause mode").  Use this in the
         lxt, marvell and uPD60620 drivers.
      
         Incidentally, this brings up the question whether marvell fiber mode
         is correctly interpreting and advertising the pause parameters.
      
      3. Add a genphy_check_and_restart_aneg() helper, which complements the
         clause 45 version of this. This will be useful for PHY drivers that
         open code this logic (e.g. marvell.c)
      
      4. Add a genphy_read_status_fixed() helper to read the fixed-mode
         status from a clause 22 PHY.  lxt and marvell both contain copies
         of this code, so convert them over.
      
      5. Arrange marvell driver to use genphy_read_lpa() for copper mode.
         This needs some rearrangement of the code in
         marvell_read_status_page_an(), but preserves using the PHY specific
         status register to derive the current negotiation results.
      
      6. Simplify the marvell driver so we can use the
         genphy_read_status_fixed() helper directly rather than
         marvell_read_status_page_fixed().
      
      7. Use positive logic in the marvell driver to determine the link
         state, and get rid of the REGISTER_LINK_STATUS definition; we
         already have a definition for this.
      
      8. The marvell driver reads the PHY specific status register multiple
         times when determining the status: once in marvell_update_link()
         and again in marvell_read_status_page_an(). This is a waste;
         rearrange to read the status register once, and pass its value into
         marvell_read_status_page_an().  We preserve using
         genphy_update_link() for the copper side.
      
      9. The marvell driver was using private clause 37 definitions, but we
         have clause 37 definitions in uapi/linux/mii.h. Use the generic
         definitions.
      
      10. Switch the marvell driver to use phy_modify_changed() to modify
          the fiber advertisement.
      
      11. Switch the marvell driver to use genphy_check_and_restart_aneg()
          introduced above rather than open-coding this functionality.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d8e419da
    • Russell King's avatar
      net: phy: marvell: use genphy_check_and_restart_aneg() · b5abac2d
      Russell King authored
      Use the helper to check and restart autonegotiation for the marvell
      fiber page negotiation setting.
      Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b5abac2d
    • Russell King's avatar
      net: phy: marvell: use phy_modify_changed() · 9f4bae70
      Russell King authored
      Use phy_modify_changed() to change the fiber advertisement register
      rather than open coding this functionality.
      Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9f4bae70