diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-11-25 16:11:45 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-26 15:59:40 -0800 |
commit | fe75820b99ff2de713de23252432f0f9d0ca1d35 (patch) | |
tree | ca03ef31a0e3a5352628038db11c5c61e9341da1 /drivers/net/sfc/falcon.c | |
parent | 55edc6e6ff728681ebc10d418222740705376664 (diff) | |
download | blackbird-op-linux-fe75820b99ff2de713de23252432f0f9d0ca1d35.tar.gz blackbird-op-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. */ |