diff options
author | Steve Hodgson <shodgson@solarflare.com> | 2009-01-29 12:50:51 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-30 17:06:30 -0500 |
commit | 4b988280be13a1b4c17f51cc66948aef467e7601 (patch) | |
tree | b8a0bd4e96520461caeaeeea2f91aa64d6c32bdd /drivers/net/sfc/efx.h | |
parent | 0cc128387969753ae037401eb49e4bbb474186ea (diff) |
sfc: Reinitialise the PHY completely in case of a PHY or NIC reset
In particular, set pause advertising bits properly.
A PHY reset is not necessary to recover from the register self-test,
so use a "invisible" reset there instead.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/efx.h')
-rw-r--r-- | drivers/net/sfc/efx.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/sfc/efx.h b/drivers/net/sfc/efx.h index 0dd7a532c78a..ac201587a163 100644 --- a/drivers/net/sfc/efx.h +++ b/drivers/net/sfc/efx.h | |||
@@ -40,9 +40,10 @@ extern void efx_reconfigure_port(struct efx_nic *efx); | |||
40 | extern void __efx_reconfigure_port(struct efx_nic *efx); | 40 | extern void __efx_reconfigure_port(struct efx_nic *efx); |
41 | 41 | ||
42 | /* Reset handling */ | 42 | /* Reset handling */ |
43 | extern void efx_reset_down(struct efx_nic *efx, struct ethtool_cmd *ecmd); | 43 | extern void efx_reset_down(struct efx_nic *efx, enum reset_type method, |
44 | extern int efx_reset_up(struct efx_nic *efx, struct ethtool_cmd *ecmd, | 44 | struct ethtool_cmd *ecmd); |
45 | bool ok); | 45 | extern int efx_reset_up(struct efx_nic *efx, enum reset_type method, |
46 | struct ethtool_cmd *ecmd, bool ok); | ||
46 | 47 | ||
47 | /* Global */ | 48 | /* Global */ |
48 | extern void efx_schedule_reset(struct efx_nic *efx, enum reset_type type); | 49 | extern void efx_schedule_reset(struct efx_nic *efx, enum reset_type type); |