mirror_ubuntu-kernels/drivers/net/ethernet/intel
Jesse Brandeburg 1d9f7ca324 ice: fix writeback enable logic
The writeback enable logic was incorrectly implemented (due to
misunderstanding what the side effects of the implementation would be
during polling).

Fix this logic issue, while implementing a new feature allowing the user
to control the writeback frequency using the knobs for controlling
interrupt throttling that we already have.  Basically if you leave
adaptive interrupts enabled, the writeback frequency will be varied even
if busy_polling or if napi-poll is in use.  If the interrupt rates are
set to a fixed value by ethtool -C and adaptive is off, the driver will
allow the user-set interrupt rate to guide how frequently the hardware
will complete descriptors to the driver.

Effectively the user will get a control over the hardware efficiency,
allowing the choice between immediate interrupts or delayed up to a
maximum of the interrupt rate, even when interrupts are disabled
during polling.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Co-developed-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-02-08 16:27:01 -08:00
..
e1000 e1000: drop unneeded assignment in e1000_set_itr() 2021-02-03 16:32:18 -08:00
e1000e e1000e: remove the redundant value assignment in e1000_update_nvm_checksum_spt 2021-02-03 16:32:18 -08:00
fm10k net: use the new dev_page_is_reusable() instead of private versions 2021-02-04 18:20:14 -08:00
i40e net: use the new dev_page_is_reusable() instead of private versions 2021-02-04 18:20:14 -08:00
iavf net: use the new dev_page_is_reusable() instead of private versions 2021-02-04 18:20:14 -08:00
ice ice: fix writeback enable logic 2021-02-08 16:27:01 -08:00
igb Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2021-02-04 21:26:28 -08:00
igbvf net: igbvf: use skb_csum_is_sctp instead of protocol check 2021-01-19 14:31:25 -08:00
igc Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 2021-02-04 21:26:28 -08:00
ixgb intel: handle unused assignments 2020-09-25 16:28:59 -07:00
ixgbe net: use the new dev_page_is_reusable() instead of private versions 2021-02-04 18:20:14 -08:00
ixgbevf net: use the new dev_page_is_reusable() instead of private versions 2021-02-04 18:20:14 -08:00
e100.c e100: switch from 'pci_' to 'dma_' API 2021-01-28 18:31:18 -08:00
Kconfig ice: implement device flash update via devlink 2020-07-28 17:07:06 -07:00
Makefile igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support 2018-10-17 12:14:54 -07:00