1. 09 Nov, 2018 32 commits
  2. 08 Nov, 2018 8 commits
    • David S. Miller's avatar
      Merge branch 'net-phy-improve-and-simplify-phylib-state-machine' · 80b6265c
      David S. Miller authored
      Heiner Kallweit says:
      
      ====================
      net: phy: improve and simplify phylib state machine
      
      This patch series is based on two axioms:
      
      - During autoneg a PHY always reports the link being down
      
      - Info in clause 22/45 registers doesn't allow to differentiate between
        these two states:
        1. Link is physically down
        2. A link partner is connected and PHY is autonegotiating
        In both cases "link up" and "aneg finished" bits aren't set.
        One consequence is that having separate states PHY_NOLINK and PHY_AN
        isn't needed.
      
      By using these two axioms the state machine can be significantly
      simplified.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      80b6265c
    • Heiner Kallweit's avatar
      net: phy: use phy_check_link_status in more places in the state machine · c8e977ba
      Heiner Kallweit authored
      Use phy_check_link_status in more places in the state machine.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c8e977ba
    • Heiner Kallweit's avatar
      net: phy: remove state PHY_AN · 85a1f31d
      Heiner Kallweit authored
      After the recent changes in the state machine state PHY_AN isn't used
      any longer and can be removed.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      85a1f31d
    • Heiner Kallweit's avatar
      net: phy: add phy_check_link_status · 74a992b3
      Heiner Kallweit authored
      In few places in the state machine the state is set to PHY_RUNNING or
      PHY_NOLINK after doing a phy_read_status(). So factor this out to
      phy_check_link_status().
      
      First use it in phy_start_aneg(): By setting the state to PHY_RUNNING
      or PHY_NOLINK directly we can remove the code to handle the case that
      we're using interrupts and aneg was finished already.
      
      Definition of phy_link_up and phy_link_down needs to be moved because
      they are called in the new function.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      74a992b3
    • Heiner Kallweit's avatar
      net: phy: remove useless check in state machine case PHY_RESUMING · c96469f8
      Heiner Kallweit authored
      If aneg isn't finished yet then the PHY reports the link as down.
      There's no benefit in setting the state to PHY_AN because the next
      state machine run would set the status to PHY_NOLINK anyway (except
      in the meantime aneg has been finished and link is up). Therefore
      we can set the state to PHY_RUNNING or PHY_NOLINK directly.
      
      In addition change the do_carrier parameter in phy_link_down() to true.
      If carrier was marked as up before (what should never be the case because
      PHY was in state PHY_HALTED before) then we should mark it as down now.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c96469f8
    • Heiner Kallweit's avatar
      net: phy: remove useless check in state machine case PHY_NOLINK · 3b01ea72
      Heiner Kallweit authored
      If aneg is enabled and the PHY reports the link as up then definitely
      aneg finished successfully. Therefore this check is useless and
      can be removed.
      Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3b01ea72
    • David S. Miller's avatar
      Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 5867b330
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      Intel Wired LAN Driver Updates 2018-11-07
      
      This series contains updates to almost all of the Intel wired LAN
      drivers.
      
      Lance Roy replaces a spin lock with lockdep_assert_held() for igbvf
      driver in move toward trying to remove spin_is_locked().
      
      Colin Ian King fixes a potential null pointer dereference by adding a
      check in ixgbe.  Also fixed the igc driver by properly assigning the
      return error code of a function call, so that we can properly check it.
      
      Shannon Nelson updates the ixgbe driver to not block IPsec offload when
      in VEPA mode, in VEB mode, IPsec offload is still blocked because the
      device drops packets into a black hole.
      
      Jake adds support for software timestamping for packets sent over
      ixgbevf.  Also modifies i40e, iavf, igb, igc, and ixgbe to delay calling
      skb_tx_timestamp() to the latest point possible, which is just prior to
      notifying the hardware of the new Tx packet.
      
      Todd adds the new WoL filter flag so that we properly report that we do
      not support this new feature.
      
      YueHaibing from Huawei fixes the igc driver by cleaning up variables
      that are not "really" used.
      
      Dan Carpenter cleans up igc whitespace issues.
      
      Miroslav Lichvar fixes e1000e for potential underflow issue in the
      timecounter, so modify the driver to use timecounter_cyc2time() to allow
      non-monotonic SYSTIM readings.
      
      Sasha provides additional igc cleanups based on community feedback.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5867b330
    • David S. Miller's avatar
      Merge branch 'nfp-add-and-use-tunnel-netdev-helpers' · be08989c
      David S. Miller authored
      John Hurley says:
      
      ====================
      nfp: add and use tunnel netdev helpers
      
      A recent patch introduced the function netif_is_vxlan() to verify the
      tunnel type of a given netdev as vxlan.
      
      Add a similar function to detect geneve netdevs and make use of this
      function in the NFP driver. Also make use of the vxlan helper where
      applicable.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      be08989c