diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-11-25 17:11:45 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-27 00:59:40 +0100 |
commit | fe75820b99ff2de713de23252432f0f9d0ca1d35 (patch) | |
tree | ca03ef31a0e3a5352628038db11c5c61e9341da1 /drivers/net/sfc/falcon.c | |
parent | sfc: Split MAC stats DMA initiation and completion (diff) | |
download | linux-fe75820b99ff2de713de23252432f0f9d0ca1d35.tar.xz linux-fe75820b99ff2de713de23252432f0f9d0ca1d35.zip |
sfc: Move Falcon board/PHY/MAC monitoring code to falcon.c
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.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index 3ab2daff6b48..c43c5e6f077b 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c @@ -2612,6 +2612,21 @@ fail5: return rc; } +void falcon_monitor(struct efx_nic *efx) +{ + int rc; + + rc = falcon_board(efx)->type->monitor(efx); + if (rc) { + EFX_ERR(efx, "Board sensor %s; shutting down PHY\n", + (rc == -ERANGE) ? "reported fault" : "failed"); + efx->phy_mode |= PHY_MODE_LOW_POWER; + falcon_sim_phy_event(efx); + } + efx->phy_op->poll(efx); + efx->mac_op->poll(efx); +} + /* Zeroes out the SRAM contents. This routine must be called in * process context and is allowed to sleep. */ |