1. 25 2月, 2015 1 次提交
    • C
      i40e/i40evf: Use advertised speed settings in ethtool and refactor get_settings · e827845c
      Catherine Sullivan 提交于
      Add a requested speed variable to the link_status struct to store the
      last speeds we requested from the firmware (the speeds the FW will be
      advertising with if autoneg is enabled).
      
      Use the advertised speed settings in get_settings in ethtool now that
      we have it.  Also set the requested speed settings in set_settings in
      ethtool as they are requested and initialize them in probe based on what
      the firmware remembers as the last requested speeds.
      
      To accommodate some longer lines in this new code, and improve
      readability I have added two functions i40e_get_settings_link_up
      and i40e_get_settings_link_down which get_settings now calls first.
      It then does all of the settings that happen regardless of link
      state. Some PHY types that supported the same settings were also combined.
      
      Also update the copyright year.
      
      Change-ID: Ica0c5ac81b6069ea6a7406fce7482f7816d4455c
      Signed-off-by: NCatherine Sullivan <catherine.sullivan@intel.com>
      Tested-by: NJim Young <james.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e827845c
  2. 24 2月, 2015 2 次提交
  3. 14 1月, 2015 1 次提交
  4. 10 12月, 2014 2 次提交
  5. 06 12月, 2014 2 次提交
    • S
      i40e: fix netdev_stat macro definition · fad177dc
      Shannon Nelson 提交于
      The old xxx_NETDEV_STAT() macro was defined long before the newer
      rtnl_link_stats64 came into being, and just never got updated.  Since we're
      using rtnl_link_stats64 in other parts of the driver, we should use it
      here as well.  We've just been lucky that the field definitions are the
      same sizes.
      
      Change-ID: I19fc71619905700235dcdf0d3c8153aec81d36de
      Signed-off-by: NShannon Nelson <shannon.nelson@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fad177dc
    • J
      i40e: don't enable PTP support on more than one PF per port · fe88bda9
      Jacob Keller 提交于
      Resolve an issue related to images with multiple PFs per physical
      port. We cannot fully support 1588 PTP features, since only one port
      should control (ie: write) the registers at a time. Doing so can cause
      interference of functionality.
      
      It may be possible to partially implement the API for only those
      features without side effects. However, this at minimum means non
      controlling PFs lose Tx timestamps, frequency atunement, and possibly
      SYSTIME adjustment. There may be further impact I did not discover.
      Since the API in the kernel expects these features to work, it is
      simpler and less dangerous to just disable PTP features on all PFs not
      identified as the controlling PF in PRTTSYN_CTL0.PF_ID.
      
      This change also removes the warning printed when hwtstaml IOCTL is
      called on the wrong PF. This is actually meaningless now, since only one
      PF per port will support it. In addition, the ethtool get_ts_info IOCTL
      was updated so that only the controlling port will even indicate support
      (so as not to confuse users).
      
      The overall downside is complete loss of functionality on non
      controlling PF, vs the possible gain of partial support. The biggest
      factor for choosing this approach is simplicity and ensuring that the
      main PF will work. There could easily be other portions of the 1588
      logic with side effects I am not aware, and the reduced functionality
      that might be made available is significantly less useful. In addition,
      the API does not allow for proper indication of why particular features
      are not supported. These reasons are enough to decide for the simpler
      approach to resolving this issue.
      
      Change-ID: If4696bae686fc18aef6552b67dd417213d987c16
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NJim Young <jamesx.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fe88bda9
  6. 21 11月, 2014 1 次提交
  7. 18 11月, 2014 1 次提交
  8. 11 11月, 2014 1 次提交
  9. 03 11月, 2014 1 次提交
  10. 24 10月, 2014 1 次提交
  11. 04 9月, 2014 3 次提交
  12. 27 8月, 2014 2 次提交
  13. 07 8月, 2014 1 次提交
    • K
      list: fix order of arguments for hlist_add_after(_rcu) · 1d023284
      Ken Helias 提交于
      All other add functions for lists have the new item as first argument
      and the position where it is added as second argument.  This was changed
      for no good reason in this function and makes using it unnecessary
      confusing.
      
      The name was changed to hlist_add_behind() to cause unconverted code to
      generate a compile error instead of using the wrong parameter order.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NKen Helias <kenhelias@firemail.de>
      Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
      Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>	[intel driver bits]
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1d023284
  14. 03 8月, 2014 1 次提交
  15. 24 7月, 2014 2 次提交
    • C
      i40e: Give link more time after setting flow control · 7d62dac6
      Catherine Sullivan 提交于
      Give link a little more time to come back up after setting flow control
      before resetting. In the new NVMs it is taking longer for link to come back.
      This causes the driver to attempt to reset the link, which then errors
      because the firmware was already in the middle of a reset. Also, initialize
      err to 0.
      
      Change-ID: I1cc987a944e389d8909c262da5796f50722b4d6b
      Signed-off-by: NCatherine Sullivan <catherine.sullivan@intel.com>
      Tested-by: NJim Young <jmyoungx@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      7d62dac6
    • S
      i40e/i40evf: Add nvmupdate support · cd552cb4
      Shannon Nelson 提交于
      This implements a state machine intended to support the userland tool for
      updating the device eeprom. The state machine implements one-shot reads,
      writes, multi-step write sessions, and checksum requests. If we're in the middle
      of a multi-step write session, no one should fire off other writes, however, one
      shot reads are valid. The userland tool is expected to keep track of its session
      status, arrange the placement and ordering of the writes, and deal with the
      checksum requirement.
      
      This patch also adds nvmupdate support to ethtool callbacks.
      The get_eeprom() and set_eeprom() services in ethtool are used here to
      facilitate the userland NVMUpdate tool.  The 'magic' value in the get and
      set commands is used to pass additional control information for managing
      the read and write steps.
      
      The read operation works both as normally expected in the standard ethtool
      method, as well as with the extra NVM controls.  The write operation
      works only for the expanded NVM functions - the normal ethtool method is
      not allowed because of the NVM semaphore management needed for multipart
      writes, as well as the checksum requirement.
      
      Change-ID: I1d84a170153a9f437906744e2e350fd68fe7563d
      Signed-off-by: NShannon Nelson <shannon.nelson@intel.com>
      Tested-by: NJim Young <jamesx.m.young@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      cd552cb4
  16. 03 7月, 2014 4 次提交
  17. 25 6月, 2014 2 次提交
  18. 11 6月, 2014 3 次提交
  19. 09 6月, 2014 1 次提交
  20. 06 6月, 2014 3 次提交
  21. 05 6月, 2014 2 次提交
  22. 29 5月, 2014 3 次提交