1. 01 11月, 2016 2 次提交
  2. 29 10月, 2016 2 次提交
    • A
      i40e: Clean up handling of msglevel flags and debug parameter · 5d4ca23e
      Alexander Duyck 提交于
      So the i40e driver had a really convoluted configuration for how to handle
      the debug flags contained in msg_level.  Part of the issue is that the
      driver has its own 32 bit mask that it was using to track a separate set of
      debug features.  From what I can tell it was trying to use the upper 4 bits
      to determine if the value was meant to represent a bit-mask or the numeric
      value provided by debug level.
      
      What this patch does is clean this up by compressing those 4 bits into bit
      31, as a result we just have to perform a check against the value being
      negative to determine if we are looking at a debug level (positive), or a
      debug mask (negative).  The debug level will populate the msg_level, and
      the debug mask will populate the debug_mask in the hardware struct.
      
      I added similar logic for ethtool.  If the value being provided has bit 31
      set we assume the value being provided is a debug mask, otherwise we assume
      it is a msg_enable mask.  For displaying we only provide the msg_enable,
      and if debug_mask is in use we will print it to the dmesg log.
      
      Lastly I removed the debugfs interface.  It is redundant with what we
      already have in ethtool and really doesn't belong anyway.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      5d4ca23e
    • J
      i40e: Make struct i40e_stats const · fe180a5e
      Joe Perches 提交于
      Move some data to text
      
      $ size drivers/net/ethernet/intel/i40e/i40e_ethtool.o*
         text	   data	    bss	    dec	    hex	filename
        25012	      0	     32	  25044	   61d4	drivers/net/ethernet/intel/i40e/i40e_ethtool.o.new
        22868	   2120	     32	  25020	   61bc	drivers/net/ethernet/intel/i40e/i40e_ethtool.o.old
      Signed-off-by: NJoe Perches <joe@perches.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fe180a5e
  3. 25 9月, 2016 2 次提交
    • J
      i40evf: support queue-specific settings for interrupt moderation · 65e87c03
      Jacob Keller 提交于
      In commit a75e8005 ("i40e: queue-specific settings for interrupt
      moderation") the i40e driver gained support for setting interrupt
      moderation values per queue. This patch adds support for this feature
      to the i40evf driver as well. In addition, a few changes are made to
      the i40e implementation to add function header documentation comments,
      as well.
      
      This behaves in a similar fashion to the implementation in i40e. Thus,
      requesting the moderation value when no queue is provided will report
      queue 0 value, while setting the value without a queue will set all
      queues at once.
      
      Change-ID: I1f310a57c8e6c84a8524c178d44d1b7a6d3a848e
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      65e87c03
    • J
      i40e: cleanup ATR auto_disable_flags use · 234dc4e6
      Jacob Keller 提交于
      Some locations that disable ATR accidentally used the "full" disable by
      disabling the flag in the standard flags field. This incorrectly forces
      ATR off permanently instead of temporarily disabling it. In addition,
      some code locations accidentally set the ATR flag enabled when they only
      meant to clear the auto_disable_flags. This results in ignoring the
      user's ethtool private flag settings.
      
      Additionally, when disabling ATR via ethtool, we did not perform a flush
      of the FD table. This results in the previously assigned ATR rules still
      functioning which was not expected.
      
      Cleanup all these areas so that automatic disable uses only the
      auto_disable_flag. Fix the flush code so that we can trigger a flush
      even when we've disabled ATR and SB support, as otherwise the flush
      doesn't work. Fix ethtool setting to actually request a flush. Fix
      NETIF_F_NTUPLE flag to only clear the auto_disable setting and not
      enable the full feature.
      
      Change-ID: Ib2486111f8031bd16943e9308757b276305c03b5
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      234dc4e6
  4. 23 9月, 2016 1 次提交
    • A
      i40e: fix setting user defined RSS hash key · f1582351
      Alan Brady 提交于
      Previously, when using ethtool to change the RSS hash key, ethtool would
      report back saying the old key was still being used and no error was
      reported.  It was unclear whether it was being reported incorrectly or
      being set incorrectly.  Debugging revealed 'i40e_set_rxfh()' returned
      zero immediately instead of setting the key because a user defined
      indirection table is not supplied when changing the hash key.
      
      This fix instead changes it such that if an indirection table is not
      supplied, then a default one is created and the hash key is now
      correctly set.
      
      Change-ID: Iddb621897ecf208650272b7ee46702cad7b69a71
      Signed-off-by: NAlan Brady <alan.brady@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      f1582351
  5. 20 8月, 2016 1 次提交
  6. 19 8月, 2016 2 次提交
  7. 22 7月, 2016 2 次提交
  8. 28 6月, 2016 2 次提交
  9. 14 5月, 2016 3 次提交
  10. 06 5月, 2016 3 次提交
  11. 26 4月, 2016 1 次提交
  12. 06 4月, 2016 1 次提交
  13. 05 4月, 2016 1 次提交
  14. 20 2月, 2016 3 次提交
  15. 19 2月, 2016 2 次提交
  16. 18 2月, 2016 5 次提交
  17. 17 2月, 2016 1 次提交
  18. 04 2月, 2016 4 次提交
  19. 03 12月, 2015 1 次提交
    • J
      i40e: use priv flags to control packet split · 827de392
      Jesse Brandeburg 提交于
      Ethtool priv flags implementation to enable or disable packet split, which
      is a hardware feature that inspects headers and will put headers in a
      separate DMA buffer from the payload data.  The driver was automatically
      choosing to enable packet split in some cases and this gives the user the
      ability to turn it off/on explicitly.
      
      to query state:
      ethtool --show-priv-flags ethx
      
      to enable:
      ethtool --set-priv-flags ethx packet-split on
      to disable:
      ethtool --set-priv-flags ethx packet-split off
      
      Why would anyone want this?
      	Because some environments benefit from header/data split in the receive
      	buffer, and the driver defaults to one or the other depending on
      	environment/kernel parameters.
      
      Why didn't you implement a generic ethtool control for this feature?
      	Because Intel hardware is the only hardware that supports header/data
      	split.
      
      Change-ID: I803121e1eecc9ccb2884031fd85dd1110b3af66d
      Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      827de392
  20. 02 12月, 2015 1 次提交