1. 27 7月, 2020 4 次提交
  2. 02 7月, 2020 1 次提交
  3. 30 6月, 2020 5 次提交
  4. 26 6月, 2020 1 次提交
    • J
      net/intel: remove driver versions from Intel drivers · 34a2a3b8
      Jeff Kirsher 提交于
      As with other networking drivers, remove the unnecessary driver version
      from the Intel drivers. The ethtool driver information and module version
      will then report the kernel version instead.
      
      For ixgbe, i40e and ice drivers, the driver passes the driver version to
      the firmware to confirm that we are up and running.  So we now pass the
      value of UTS_RELEASE to the firmware.  This adminq call is required per
      the HAS document.  The Device then sends an indication to the BMC that the
      PF driver is present. This is done using Host NC Driver Status Indication
      in NC-SI Get Link command or via the Host Network Controller Driver Status
      Change AEN.
      
      What the BMC may do with this information is implementation-dependent, but
      this is a standard NC-SI 1.1 command we honor per the HAS.
      
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Alek Loktionov <aleksandr.loktionov@intel.com>
      CC: Kevin Liedtke <kevin.d.liedtke@intel.com>
      CC: Aaron Rowden <aaron.f.rowden@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Co-developed-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      34a2a3b8
  5. 29 5月, 2020 3 次提交
  6. 23 5月, 2020 7 次提交
    • A
      igc: Remove igc_nfc_rule_exit() · 5c739e77
      Andre Guedes 提交于
      During igc_down(), we call igc_nfc_rule_exit() which traverse the NFC
      rule list disabling filters one by one. Later on in igc_down() flow
      we issue an hardware reset which also clear all filters.  Since we
      already reset the hardware, we don't actually need to disable each
      filter manually. In order to simplify the code, this patch removes
      igc_nfc_rule() altogether.
      Signed-off-by: NAndre Guedes <andre.guedes@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      5c739e77
    • A
      igc: Change adapter->nfc_rule_lock to mutex · 42fc5dc0
      Andre Guedes 提交于
      This patch changes adapter->nfc_rule_lock type from spin_lock to mutex
      so we avoid unnecessary busy waiting on lock contention.
      
      A closer look at the execution context of NFC rule API users shows that
      all of them run in process context. The API users are: ethtool ops,
      igc_configure(), called when interface is brought up by user or reset
      workequeue thread, igc_down(), called when interface is brought down,
      and igc_remove(), called when driver is unloaded.
      Signed-off-by: NAndre Guedes <andre.guedes@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      42fc5dc0
    • A
      igc: Change return type from igc_disable_nfc_rule() · acda576f
      Andre Guedes 提交于
      None of igc_disable_nfc_rule() callers actually check its returning
      value. A closer look at why this function would fail shows that the
      only situation is when we try to delete an Ethertype or MAC filter that
      doesn't exist.
      
      That situation is very unlikely so we can change igc_del_etype_filter()
      and igc_del_mac_filter() logic to "if the filter doesn't exist, we are
      done", and keep the logic in igc_disable_nfc_rule() callers simple.
      Signed-off-by: NAndre Guedes <andre.guedes@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      acda576f
    • A
      igc: Fix NFC rules leak when driver is unloaded · e256ec83
      Andre Guedes 提交于
      If we have RFC rules in adapter->nfc_rule_list when the IGC driver
      is unloaded, all rules are leaked. This patch fixes the issue by
      introducing the helper igc_flush_nfc_rules() and calling it in
      igc_remove(). It also updates igc_set_features() so is reuses the
      new helper instead of re-implementing it.
      Signed-off-by: NAndre Guedes <andre.guedes@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e256ec83
    • A
      igc: Refactor igc_ethtool_update_nfc_rule() · 36fa2152
      Andre Guedes 提交于
      Current implementation of igc_ethtool_update_nfc_rule() is a bit
      convoluted since it handles too many things: rule lookup, deletion
      and addition. This patch breaks it into three functions so we simplify
      the code and improve code reuse.
      
      Code related to rule lookup is refactored out to a new function called
      igc_get_nfc_rule().
      
      Code related to rule addition is refactored out to a new function called
      igc_add_nfc_rule(). This function enables the rule in hardware and adds
      it to the adapter's list.
      
      Code related to rule deletion is refactored out to a new function called
      igc_del_nfc_rule(). This function disables the rule in hardware, removes
      it from adapter's list, and deletes it.
      
      As a byproduct of this refactoring, igc_enable_nfc_rule() and
      igc_disable_nfc_rule() are moved to igc_main.c since they are not used
      in igc_ethtool.c anymore, and igc_restore_nfc_rules() and igc_nfc_rule_
      exit() are moved around to avoid forward declaration.
      
      Also, since this patch already touches igc_ethtool_get_nfc_rule(), it
      takes the opportunity to remove the 'match_flags' check. Empty flags
      are not allowed to be added so no need to check that.
      Signed-off-by: NAndre Guedes <andre.guedes@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      36fa2152
    • A
      igc: Fix NFC rules restoration · d957c601
      Andre Guedes 提交于
      When network interface is brought up, the driver re-enables the NFC
      rules previously configured. However, this is done in reverse order
      the rules were added and hardware filters are configured differently.
      
      For example, consider the following rules:
      
      $ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:AA queue 0
      $ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:BB queue 1
      $ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:CC queue 2
      $ ethtool -N eth0 flow-type ether dst 00:00:00:00:00:DD queue 3
      
      RAL/RAH registers are configure so filter index 1 has address ending
      with AA, filter index 2 has address ending in BB, and so on.
      
      If we bring the interface down and up again, RAL/RAH registers are
      configured so filter index 1 has address ending in DD, filter index 2
      has CC, and so on. IOW, in reverse order we had before bringing the
      interface down.
      
      This issue can be fixed by traversing adapter->nfc_rule_list in
      backwards when restoring the rules. Since hlist doesn't support
      backwards traversal, this patch replaces it by list_head and fixes
      igc_restore_nfc_rules() accordingly.
      Signed-off-by: NAndre Guedes <andre.guedes@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      d957c601
    • A
      igc: Fix NFC rules with multicast addresses · 39707c16
      Andre Guedes 提交于
      Multicast MAC addresses are valid address for NFC rules but
      igc_add_mac_filter() is currently rejecting them. In fact, the I225
      controller doesn't impose any constraint on the address value so this
      patch gets rid of the address validation check in MAC filter APIs.
      Signed-off-by: NAndre Guedes <andre.guedes@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      39707c16
  7. 22 5月, 2020 4 次提交
  8. 21 5月, 2020 2 次提交
  9. 20 5月, 2020 3 次提交
  10. 19 5月, 2020 3 次提交
  11. 25 4月, 2020 1 次提交
  12. 20 4月, 2020 6 次提交