]> www.infradead.org Git - users/jedix/linux-maple.git/commit
i40e: queue-specific settings for interrupt moderation
authorKan Liang <kan.liang@intel.com>
Fri, 19 Feb 2016 14:24:04 +0000 (09:24 -0500)
committerChuck Anderson <chuck.anderson@oracle.com>
Wed, 6 Jul 2016 23:35:03 +0000 (16:35 -0700)
commit43d7040953c9279e44fcd6408e69f7271d53dafa
tree3cec632070bd1970be75fcefaf3edc49b6ffea1c
parent76093b32a3c4a4e7293dac2aae85c3ef5bd2716f
i40e: queue-specific settings for interrupt moderation

Orabug: 23176970

For i40e driver, each vector has its own ITR register. However, there
are no concept of queue-specific settings in the driver proper. Only
global variable is used to store ITR values. That will cause problems
especially when resetting the vector. The specific ITR values could be
lost.
This patch move rx_itr_setting and tx_itr_setting to i40e_ring to store
specific ITR register for each queue.
i40e_get_coalesce and i40e_set_coalesce are also modified accordingly to
support queue-specific settings. To make it compatible with old ethtool,
if user doesn't specify the queue number, i40e_get_coalesce will return
queue 0's value. While i40e_set_coalesce will apply value to all queues.

Signed-off-by: Kan Liang <kan.liang@intel.com>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit a75e8005d506f374554b17383c39aa82db0ea860)
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_debugfs.c
drivers/net/ethernet/intel/i40e/i40e_ethtool.c
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/i40e/i40e_txrx.h