1. 20 2月, 2020 2 次提交
  2. 16 2月, 2020 2 次提交
  3. 13 2月, 2020 5 次提交
  4. 26 1月, 2020 1 次提交
  5. 04 1月, 2020 2 次提交
  6. 10 12月, 2019 1 次提交
  7. 23 11月, 2019 4 次提交
  8. 09 11月, 2019 2 次提交
  9. 07 11月, 2019 1 次提交
  10. 05 11月, 2019 4 次提交
  11. 13 9月, 2019 2 次提交
  12. 05 9月, 2019 2 次提交
  13. 04 9月, 2019 1 次提交
  14. 24 8月, 2019 2 次提交
  15. 21 8月, 2019 1 次提交
  16. 01 8月, 2019 1 次提交
    • P
      ice: add lp_advertising flow control support · 5a056cd7
      Paul Greenwalt 提交于
      Add support for reporting link partner advertising when
      ETHTOOL_GLINKSETTINGS defined. Get pause param reports the Tx/Rx
      pause configured, and then ethtool issues ETHTOOL_GSET ioctl and
      ice_get_settings_link_up reports the negotiated Tx/Rx pause. Negotiated
      pause frame report per IEEE 802.3-2005 table 288-3.
      
      $ ethtool --show-pause ens6f0
      Pause parameters for ens6f0:
      Autonegotiate:  on
      RX:             on
      TX:             on
      RX negotiated:  on
      TX negotiated:  on
      
      $ ethtool ens6f0
      Settings for ens6f0:
              Supported ports: [ FIBRE ]
              Supported link modes:   25000baseCR/Full
              Supported pause frame use: Symmetric
              Supports auto-negotiation: Yes
              Supported FEC modes: None BaseR RS
              Advertised link modes:  25000baseCR/Full
              Advertised pause frame use: Symmetric Receive-only
              Advertised auto-negotiation: Yes
              Advertised FEC modes: None BaseR RS
              Link partner advertised link modes:  Not reported
              Link partner advertised pause frame use: Symmetric
              Link partner advertised auto-negotiation: Yes
              Link partner advertised FEC modes: Not reported
              Speed: 25000Mb/s
              Duplex: Full
              Port: Direct Attach Copper
              PHYAD: 0
              Transceiver: internal
              Auto-negotiation: on
              Supports Wake-on: g
              Wake-on: g
              Current message level: 0x00000007 (7)
                                     drv probe link
              Link detected: yes
      
      When ETHTOOL_GLINKSETTINGS is not defined, get pause param reports the
      negotiated Tx/Rx pause.
      Signed-off-by: NPaul Greenwalt <paul.greenwalt@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      5a056cd7
  17. 31 5月, 2019 2 次提交
  18. 30 5月, 2019 1 次提交
  19. 29 5月, 2019 3 次提交
    • D
      ice: Remove redundant and premature event config · 91aed40d
      Dave Ertman 提交于
      In the path for re-enabling FW LLDP engine, there is
      a call to register for LLDP MIB change events.  This
      call is redundant, in that the call to ice_pf_dcb_cfg
      will already register the driver for these events.  Also,
      the call as it stands now is too early in the flow before
      before DCB is configured.
      
      Remove the redundant call.
      Signed-off-by: NDave Ertman <david.m.ertman@intel.com>
      Signed-off-by: NAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      91aed40d
    • B
      ice: Refactor interrupt tracking · cbe66bfe
      Brett Creeley 提交于
      Currently we have two MSI-x (IRQ) trackers, one for OS requested MSI-x
      entries (sw_irq_tracker) and one for hardware MSI-x vectors
      (hw_irq_tracker). Generally the sw_irq_tracker has less entries than the
      hw_irq_tracker because the hw_irq_tracker has entries equal to the max
      allowed MSI-x per PF and the sw_irq_tracker is mainly the minimum (non
      SR-IOV portion of the vectors, kernel granted IRQs). All of the non
      SR-IOV portions of the driver (i.e. LAN queues, RDMA queues, OICR, etc.)
      take at least one of each type of tracker resource. SR-IOV only grabs
      entries from the hw_irq_tracker. There are a few issues with this approach
      that can be seen when doing any kind of device reconfiguration (i.e.
      ethtool -L, SR-IOV, etc.). One of them being, any time the driver creates
      an ice_q_vector and associates it to a LAN queue pair it will grab and
      use one entry from the hw_irq_tracker and one from the sw_irq_tracker.
      If the indices on these does not match it will cause a Tx timeout, which
      will cause a reset and then the indices will match up again and traffic
      will resume. The mismatched indices come from the trackers not being the
      same size and/or the search_hint in the two trackers not being equal.
      Another reason for the refactor is the co-existence of features with
      SR-IOV. If SR-IOV is enabled and the interrupts are taken from the end
      of the sw_irq_tracker then other features can no longer use this space
      because the hardware has now given the remaining interrupts to SR-IOV.
      
      This patch reworks how we track MSI-x vectors by removing the
      hw_irq_tracker completely and instead MSI-x resources needed for SR-IOV
      are determined all at once instead of per VF. This can be done because
      when creating VFs we know how many are wanted and how many MSI-x vectors
      each VF needs. This also allows us to start using MSI-x resources from
      the end of the PF's allowed MSI-x vectors so we are less likely to use
      entries needed for other features (i.e. RDMA, L2 Offload, etc).
      
      This patch also reworks the ice_res_tracker structure by removing the
      search_hint and adding a new member - "end". Instead of having a
      search_hint we will always search from 0. The new member, "end", will be
      used to manipulate the end of the ice_res_tracker (specifically
      sw_irq_tracker) during runtime based on MSI-x vectors needed by SR-IOV.
      In the normal case, the end of ice_res_tracker will be equal to the
      ice_res_tracker's num_entries.
      
      The sriov_base_vector member was added to the PF structure. It is used
      to represent the starting MSI-x index of all the needed MSI-x vectors
      for all SR-IOV VFs. Depending on how many MSI-x are needed, SR-IOV may
      have to take resources from the sw_irq_tracker. This is done by setting
      the sw_irq_tracker->end equal to the pf->sriov_base_vector. When all
      SR-IOV VFs are removed then the sw_irq_tracker->end is reset back to
      sw_irq_tracker->num_entries. The sriov_base_vector, along with the VF's
      number of MSI-x (pf->num_vf_msix), vf_id, and the base MSI-x index on
      the PF (pf->hw.func_caps.common_cap.msix_vector_first_id), is used to
      calculate the first HW absolute MSI-x index for each VF, which is used
      to write to the VPINT_ALLOC[_PCI] and GLINT_VECT2FUNC registers to
      program the VFs MSI-x PCI configuration bits. Also, the sriov_base_vector
      is used along with VF's num_vf_msix, vf_id, and q_vector->v_idx to
      determine the MSI-x register index (used for writing to GLINT_DYN_CTL)
      within the PF's space.
      
      Interrupt changes removed any references to hw_base_vector, hw_oicr_idx,
      and hw_irq_tracker. Only sw_base_vector, sw_oicr_idx, and sw_irq_tracker
      variables remain. Change all of these by removing the "sw_" prefix to
      help avoid confusion with these variables and their use.
      Signed-off-by: NBrett Creeley <brett.creeley@intel.com>
      Signed-off-by: NAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      cbe66bfe
    • A
      ice: Add handler for ethtool selftest · 0e674aeb
      Anirudh Venkataramanan 提交于
      This patch adds a handler for ethtool selftest. Selftest includes
      testing link, interrupts, eeprom, registers and packet loopback.
      Signed-off-by: NAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      0e674aeb
  20. 24 5月, 2019 1 次提交