diff options
author | Steve Hodgson <shodgson@solarflare.com> | 2009-01-29 17:50:51 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-30 14:06:30 -0800 |
commit | 4b988280be13a1b4c17f51cc66948aef467e7601 (patch) | |
tree | b8a0bd4e96520461caeaeeea2f91aa64d6c32bdd /drivers/net/sfc/efx.h | |
parent | 0cc128387969753ae037401eb49e4bbb474186ea (diff) | |
download | op-kernel-dev-4b988280be13a1b4c17f51cc66948aef467e7601.zip op-kernel-dev-4b988280be13a1b4c17f51cc66948aef467e7601.tar.gz |
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 0dd7a53..ac20158 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); extern void __efx_reconfigure_port(struct efx_nic *efx); /* Reset handling */ -extern void efx_reset_down(struct efx_nic *efx, struct ethtool_cmd *ecmd); -extern int efx_reset_up(struct efx_nic *efx, struct ethtool_cmd *ecmd, - bool ok); +extern void efx_reset_down(struct efx_nic *efx, enum reset_type method, + struct ethtool_cmd *ecmd); +extern int efx_reset_up(struct efx_nic *efx, enum reset_type method, + struct ethtool_cmd *ecmd, bool ok); /* Global */ extern void efx_schedule_reset(struct efx_nic *efx, enum reset_type type); |