linux/drivers/net/ethernet/intel/ice
Brett Creeley 63f545ed12 ice: Add support for adaptive interrupt moderation
Currently the driver does not support adaptive/dynamic interrupt
moderation. This patch adds support for this. Also, adaptive/dynamic
interrupt moderation is turned on by default upon driver load.

In order to support adaptive interrupt moderation, two functions were
added, ice_update_itr() and ice_itr_divisor(). These are used to
determine the current packet load and to determine a divisor based
on link speed respectively.

This patch also adds the ICE_ITR_GRAN_S define that is used in the
hot-path when setting a new ITR value. The shift is used to pet two
birds with one hand, set the ITR value while re-enabling the
interrupt. Also, the ICE_ITR_GRAN_S is defined as 1 because the device
has a ITR granularity of 2usecs.

Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2019-01-15 11:29:16 -08:00
..
ice_adminq_cmd.h ice: Set physical link up/down when an interface is set up/down 2019-01-15 10:27:18 -08:00
ice_common.c ice: Move aggregator list into ice_hw instance 2019-01-15 11:21:13 -08:00
ice_common.h ice: Implement support for normal get_eeprom[_len] ethtool ops 2019-01-15 10:20:43 -08:00
ice_controlq.c ice: Use Tx|Rx in comments 2018-11-20 11:39:04 -08:00
ice_controlq.h ice: Update expected FW version 2018-10-24 13:56:37 -07:00
ice_devids.h ice: Change device ID define names to align with branding string 2018-10-24 13:53:30 -07:00
ice_ethtool.c ice: Add ethtool private flag to make forcing link down optional 2019-01-15 10:32:59 -08:00
ice_hw_autogen.h ice: Add support for adaptive interrupt moderation 2019-01-15 11:29:16 -08:00
ice_lan_tx_rx.h ice: Cosmetic formatting changes 2018-11-20 11:39:04 -08:00
ice_lib.c ice: Add support for adaptive interrupt moderation 2019-01-15 11:29:16 -08:00
ice_lib.h ice: Rework queue management code for reuse 2019-01-15 11:11:10 -08:00
ice_main.c ice: Add support for adaptive interrupt moderation 2019-01-15 11:29:16 -08:00
ice_nvm.c ice: Implement support for normal get_eeprom[_len] ethtool ops 2019-01-15 10:20:43 -08:00
ice_osdep.h ice: Start hardware initialization 2018-03-26 09:59:08 -07:00
ice_sched.c ice: Move aggregator list into ice_hw instance 2019-01-15 11:21:13 -08:00
ice_sched.h ice: Move aggregator list into ice_hw instance 2019-01-15 11:21:13 -08:00
ice_sriov.c ice: Cosmetic formatting changes 2018-11-20 11:39:04 -08:00
ice_sriov.h ice: Add handlers for VF netdevice operations 2018-10-03 07:42:30 -07:00
ice_status.h ice: Add support for VF reset events 2018-10-03 07:42:30 -07:00
ice_switch.c ice: Fix possible NULL pointer de-reference 2018-11-20 11:39:04 -08:00
ice_switch.h ice: Free VSI contexts during for unload 2018-11-06 12:46:47 -08:00
ice_txrx.c ice: Add support for adaptive interrupt moderation 2019-01-15 11:29:16 -08:00
ice_txrx.h ice: Add support for adaptive interrupt moderation 2019-01-15 11:29:16 -08:00
ice_type.h ice: Move aggregator list into ice_hw instance 2019-01-15 11:21:13 -08:00
ice_virtchnl_pf.c ice: Rework queue management code for reuse 2019-01-15 11:11:10 -08:00
ice_virtchnl_pf.h ice: Cosmetic formatting changes 2018-11-20 11:39:04 -08:00
ice.h ice: Rework queue management code for reuse 2019-01-15 11:11:10 -08:00
Makefile ice: Add support for VF reset events 2018-10-03 07:42:30 -07:00