diff options
author | Jesse Brandeburg <jesse.brandeburg@intel.com> | 2009-03-13 22:13:28 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-14 12:41:08 -0700 |
commit | 509ee935ec0828e534e4d48d08d4d0b4bc17ea92 (patch) | |
tree | d50803203ef9ec0e528f37546d2e9d3488747c43 /drivers/net/ixgbe/ixgbe.h | |
parent | 40dcd79a7bd2e0d6bf4680db4bc0268c9f149a1d (diff) | |
download | kernel_samsung_tuna-509ee935ec0828e534e4d48d08d4d0b4bc17ea92.zip kernel_samsung_tuna-509ee935ec0828e534e4d48d08d4d0b4bc17ea92.tar.gz kernel_samsung_tuna-509ee935ec0828e534e4d48d08d4d0b4bc17ea92.tar.bz2 |
ixgbe: Fix interrupt configuration for 82599
The interrupt models using EITR have changed in 82599. The way the register
is laid out, the change is transparent to some of the existing code.
However, some of it isn't. This patch fixes all the cases where EITR
handling is different than 82598.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe.h')
-rw-r--r-- | drivers/net/ixgbe/ixgbe.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ixgbe/ixgbe.h b/drivers/net/ixgbe/ixgbe.h index 0b54717..c26433d 100644 --- a/drivers/net/ixgbe/ixgbe.h +++ b/drivers/net/ixgbe/ixgbe.h @@ -189,10 +189,11 @@ struct ixgbe_q_vector { }; /* Helper macros to switch between ints/sec and what the register uses. - * And yes, it's the same math going both ways. + * And yes, it's the same math going both ways. The lowest value + * supported by all of the ixgbe hardware is 8. */ #define EITR_INTS_PER_SEC_TO_REG(_eitr) \ - ((_eitr) ? (1000000000 / ((_eitr) * 256)) : 0) + ((_eitr) ? (1000000000 / ((_eitr) * 256)) : 8) #define EITR_REG_TO_INTS_PER_SEC EITR_INTS_PER_SEC_TO_REG #define IXGBE_DESC_UNUSED(R) \ @@ -366,5 +367,6 @@ extern void ixgbe_reset_interrupt_capability(struct ixgbe_adapter *adapter); extern int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter); void ixgbe_napi_add_all(struct ixgbe_adapter *adapter); void ixgbe_napi_del_all(struct ixgbe_adapter *adapter); +extern void ixgbe_write_eitr(struct ixgbe_adapter *, int, u32); #endif /* _IXGBE_H_ */ |