aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBert Kenward <bkenward@solarflare.com>2017-12-18 11:57:41 -0500
committerDavid S. Miller <davem@davemloft.net>2017-12-18 13:07:50 -0500
commit0bc959a95e8c1ee0295d2b85538a2a32b7b87880 (patch)
treec601877dc0955589847e3666fc362fa6d2acc7e3
parentd8d8ccf277419b6feb281a2d08d9f881b2b724be (diff)
sfc: populate the timer reload field
The timer mode register now has a separate field for the reload value. Since we always use this timer with the reload (for interrupt moderation) we set this to the same as the initial value. Previous hardware ignores this field, so we can safely set these bits on all hardware that uses this register. Signed-off-by: Edward Cree <ecree@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/sfc/ef10.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c
index 56a6bc60dac1..1f64c7f60943 100644
--- a/drivers/net/ethernet/sfc/ef10.c
+++ b/drivers/net/ethernet/sfc/ef10.c
@@ -2010,8 +2010,9 @@ static void efx_ef10_push_irq_moderation(struct efx_channel *channel)
2010 } else { 2010 } else {
2011 unsigned int ticks = efx_usecs_to_ticks(efx, usecs); 2011 unsigned int ticks = efx_usecs_to_ticks(efx, usecs);
2012 2012
2013 EFX_POPULATE_DWORD_2(timer_cmd, ERF_DZ_TC_TIMER_MODE, mode, 2013 EFX_POPULATE_DWORD_3(timer_cmd, ERF_DZ_TC_TIMER_MODE, mode,
2014 ERF_DZ_TC_TIMER_VAL, ticks); 2014 ERF_DZ_TC_TIMER_VAL, ticks,
2015 ERF_FZ_TC_TMR_REL_VAL, ticks);
2015 efx_writed_page(efx, &timer_cmd, ER_DZ_EVQ_TMR, 2016 efx_writed_page(efx, &timer_cmd, ER_DZ_EVQ_TMR,
2016 channel->channel); 2017 channel->channel);
2017 } 2018 }