summaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/falcon.c
diff options
context:
space:
mode:
authorBen Hutchings2009-10-23 10:32:13 +0200
committerDavid S. Miller2009-10-24 13:27:15 +0200
commit0d86ebd815416efb4e95ca70c3b8e65b476c5f9f (patch)
treed6ed53cfda8b1968119ea3ddf2a0b24e18211cfb /drivers/net/sfc/falcon.c
parentsfc: Move shared members of struct falcon_nic_data into struct efx_nic (diff)
downloadkernel-qcow2-linux-0d86ebd815416efb4e95ca70c3b8e65b476c5f9f.tar.gz
kernel-qcow2-linux-0d86ebd815416efb4e95ca70c3b8e65b476c5f9f.tar.xz
kernel-qcow2-linux-0d86ebd815416efb4e95ca70c3b8e65b476c5f9f.zip
sfc: Maintain interrupt moderation values in ticks, not microseconds
This simplifies the implementation a lot. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/falcon.c')
-rw-r--r--drivers/net/sfc/falcon.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c
index 1582df7aba7b..e3c33fa06c86 100644
--- a/drivers/net/sfc/falcon.c
+++ b/drivers/net/sfc/falcon.c
@@ -1063,20 +1063,11 @@ void falcon_set_int_moderation(struct efx_channel *channel)
/* Set timer register */
if (channel->irq_moderation) {
- /* Round to resolution supported by hardware. The value we
- * program is based at 0. So actual interrupt moderation
- * achieved is ((x + 1) * res).
- */
- channel->irq_moderation -= (channel->irq_moderation %
- FALCON_IRQ_MOD_RESOLUTION);
- if (channel->irq_moderation < FALCON_IRQ_MOD_RESOLUTION)
- channel->irq_moderation = FALCON_IRQ_MOD_RESOLUTION;
EFX_POPULATE_DWORD_2(timer_cmd,
FRF_AB_TC_TIMER_MODE,
FFE_BB_TIMER_MODE_INT_HLDOFF,
FRF_AB_TC_TIMER_VAL,
- channel->irq_moderation /
- FALCON_IRQ_MOD_RESOLUTION - 1);
+ channel->irq_moderation - 1);
} else {
EFX_POPULATE_DWORD_2(timer_cmd,
FRF_AB_TC_TIMER_MODE,