Merge remote-tracking branch 'xen-tip/linux-next'
[deliverable/linux.git] / drivers / net / ethernet / sfc / falcon.c
index d790cb8d9db3cc62d70c99c8ce877242ea3ed16b..1a7092602aec6b0fad10dc006f504060284a2b52 100644 (file)
@@ -378,12 +378,15 @@ static void falcon_push_irq_moderation(struct efx_channel *channel)
        struct efx_nic *efx = channel->efx;
 
        /* Set timer register */
-       if (channel->irq_moderation) {
+       if (channel->irq_moderation_us) {
+               unsigned int ticks;
+
+               ticks = efx_usecs_to_ticks(efx, channel->irq_moderation_us);
                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 - 1);
+                                    ticks - 1);
        } else {
                EFX_POPULATE_DWORD_2(timer_cmd,
                                     FRF_AB_TC_TIMER_MODE,
@@ -2373,6 +2376,8 @@ static int falcon_probe_nic(struct efx_nic *efx)
                             EFX_MAX_CHANNELS);
        efx->max_tx_channels = efx->max_channels;
        efx->timer_quantum_ns = 4968; /* 621 cycles */
+       efx->timer_max_ns = efx->type->timer_period_max *
+                           efx->timer_quantum_ns;
 
        /* Initialise I2C adapter */
        board = falcon_board(efx);
This page took 0.033903 seconds and 5 git commands to generate.