1. 24 5月, 2019 1 次提交
  2. 05 5月, 2019 2 次提交
  3. 02 5月, 2019 2 次提交
  4. 18 4月, 2019 5 次提交
  5. 27 3月, 2019 2 次提交
  6. 22 3月, 2019 2 次提交
  7. 20 3月, 2019 1 次提交
  8. 26 2月, 2019 1 次提交
  9. 16 1月, 2019 4 次提交
  10. 21 11月, 2018 2 次提交
  11. 14 11月, 2018 2 次提交
  12. 07 11月, 2018 3 次提交
  13. 03 10月, 2018 5 次提交
  14. 02 10月, 2018 3 次提交
    • B
      ice: Add support for dynamic interrupt moderation · 9e4ab4c2
      Brett Creeley 提交于
      Currently there is no support for dynamic interrupt moderation. This
      patch adds some initial code to support this. The following changes
      were made:
      
      1. Currently we are using multiple members to store the interrupt
         granularity (itr_gran_25/50/100/200). This is not necessary because
         we can query the device to determine what the interrupt granularity
         should be set to, done by a new function ice_get_itr_intrl_gran.
      
      2. Added intrl to ice_q_vector structure to support interrupt rate
         limiting.
      
      3. Added the function ice_intrl_usecs_to_reg for converting to a value
         in usecs that the device understands.
      
      4. Added call to write to the GLINT_RATE register. Disable intrl by
         default for now.
      
      5. Changed rx/tx_itr_setting to itr_setting because having both seems
         redundant because a ring is either Tx or Rx.
      
      6. Initialize itr_setting for both Tx/Rx rings in ice_vsi_alloc_rings()
      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>
      9e4ab4c2
    • P
      ice: Split irq_tracker into sw_irq_tracker and hw_irq_tracker · eb0208ec
      Preethi Banala 提交于
      For the PF driver, when mapping interrupts to queues, we need to request
      IRQs from the kernel and we also have to allocate interrupts from
      the device.
      
      Similarly, when the VF driver (iavf.ko) initializes, it requests the kernel
      IRQs that it needs but it can't directly allocate interrupts in the device.
      Instead, it sends a mailbox message to the ice driver, which then allocates
      interrupts in the device on the VF driver's behalf.
      
      Currently both these cases end up having to reserve entries in
      pf->irq_tracker but irq_tracker itself is sized based on how many vectors
      the PF driver needs. Under the right circumstances, the VF driver can fail
      to get entries in irq_tracker, which will result in the VF driver failing
      probe.
      
      To fix this, sw_irq_tracker and hw_irq_tracker are introduced. The
      sw_irq_tracker tracks only the PF's IRQ request and doesn't play any
      role in VF init. hw_irq_tracker represents the device's interrupt space.
      When interrupts have to be allocated in the device for either PF or VF,
      hw_irq_tracker will be looked up to see if the device has run out of
      interrupts.
      Signed-off-by: NPreethi Banala <preethi.banala@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>
      eb0208ec
    • D
      ice: Change pf state behavior to protect reset path · 5df7e45d
      Dave Ertman 提交于
      Currently, there is no bit, or set of bits, that protect the entirety
      of the reset path.
      
      If the reset is originated by the driver, then the relevant
      one of the following bits will be set when the reset is scheduled:
      __ICE_PFR_REQ
      __ICE_CORER_REQ
      __ICE_GLOBR_REQ
      This bit will not be cleared until after the rebuild has completed.
      
      If the reset is originated by the FW, then the first the driver knows of
      it will be the reception of the OICR interrupt.  The __ICE_RESET_OICR_RECV
      bit will be set in the interrupt handler.  This will also be the indicator
      in a SW originated reset that we have completed the pre-OICR tasks and
      have informed the FW that a reset was requested.
      
      To utilize these bits, change the function:
      ice_is_reset_recovery_pending()
      	to be:
      ice_is_reset_in_progress()
      
      The new function will check all of the above bits in the pf->state and
      will return a true if one or more of these bits are set.
      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>
      5df7e45d
  15. 29 9月, 2018 1 次提交
  16. 27 9月, 2018 1 次提交
  17. 29 8月, 2018 3 次提交