diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-11-25 11:11:35 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-26 18:59:36 -0500 |
commit | 55edc6e6ff728681ebc10d418222740705376664 (patch) | |
tree | 66136e674adde15b9668f13d4e0486482b7f1851 /drivers/net/sfc/tenxpress.c | |
parent | 1dfc5ceacd00365a9089e98643f4b26253d5a6aa (diff) |
sfc: Split MAC stats DMA initiation and completion
From: Steve Hodgson <shodgson@solarflare.com>
Currently we initiate MAC stats DMA and busy-wait for completion when
stats are requested. We can improve on this with a periodic timer to
initiate and poll for stats, and opportunistically poll when stats are
requested.
Since efx_nic::stats_disable_count and efx_stats_{disable,enable}()
are Falcon-specific, rename them and move them accordingly.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/tenxpress.c')
-rw-r--r-- | drivers/net/sfc/tenxpress.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/sfc/tenxpress.c b/drivers/net/sfc/tenxpress.c index a95402d601c7..e6232fe26072 100644 --- a/drivers/net/sfc/tenxpress.c +++ b/drivers/net/sfc/tenxpress.c | |||
@@ -374,7 +374,7 @@ static int tenxpress_special_reset(struct efx_nic *efx) | |||
374 | /* The XGMAC clock is driven from the SFC7101/SFT9001 312MHz clock, so | 374 | /* The XGMAC clock is driven from the SFC7101/SFT9001 312MHz clock, so |
375 | * a special software reset can glitch the XGMAC sufficiently for stats | 375 | * a special software reset can glitch the XGMAC sufficiently for stats |
376 | * requests to fail. */ | 376 | * requests to fail. */ |
377 | efx_stats_disable(efx); | 377 | falcon_stop_nic_stats(efx); |
378 | 378 | ||
379 | /* Initiate reset */ | 379 | /* Initiate reset */ |
380 | reg = efx_mdio_read(efx, MDIO_MMD_PMAPMD, PMA_PMD_XCONTROL_REG); | 380 | reg = efx_mdio_read(efx, MDIO_MMD_PMAPMD, PMA_PMD_XCONTROL_REG); |
@@ -396,7 +396,7 @@ static int tenxpress_special_reset(struct efx_nic *efx) | |||
396 | /* Wait for the XGXS state machine to churn */ | 396 | /* Wait for the XGXS state machine to churn */ |
397 | mdelay(10); | 397 | mdelay(10); |
398 | out: | 398 | out: |
399 | efx_stats_enable(efx); | 399 | falcon_start_nic_stats(efx); |
400 | return rc; | 400 | return rc; |
401 | } | 401 | } |
402 | 402 | ||