diff options
author | Steve Hodgson <shodgson@solarflare.com> | 2010-04-28 05:28:10 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-28 15:44:34 -0400 |
commit | b7b40eeb0f76e73503a7e5a98d1353c2e42d9a18 (patch) | |
tree | 866649435f34be175f2eedc7e0fde65750b997f9 /drivers/net/sfc | |
parent | ef524f2e74b39cdf8d42b9d999c43b5144ed66c9 (diff) |
sfc: Reconfigure the XAUI serdes after an EM reset
Fix a regression introduced in d3245b28ef2a45ec4e115062a38100bd06229289
"sfc: Refactor link configuration".
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc')
-rw-r--r-- | drivers/net/sfc/falcon.c | 3 | ||||
-rw-r--r-- | drivers/net/sfc/falcon_xmac.c | 2 | ||||
-rw-r--r-- | drivers/net/sfc/nic.h | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index d09ad1b1cd8b..f7df24dce38a 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -507,6 +507,9 @@ static void falcon_reset_macs(struct efx_nic *efx) | |||
507 | /* Ensure the correct MAC is selected before statistics | 507 | /* Ensure the correct MAC is selected before statistics |
508 | * are re-enabled by the caller */ | 508 | * are re-enabled by the caller */ |
509 | efx_writeo(efx, &mac_ctrl, FR_AB_MAC_CTRL); | 509 | efx_writeo(efx, &mac_ctrl, FR_AB_MAC_CTRL); |
510 | |||
511 | /* This can run even when the GMAC is selected */ | ||
512 | falcon_setup_xaui(efx); | ||
510 | } | 513 | } |
511 | 514 | ||
512 | void falcon_drain_tx_fifo(struct efx_nic *efx) | 515 | void falcon_drain_tx_fifo(struct efx_nic *efx) |
diff --git a/drivers/net/sfc/falcon_xmac.c b/drivers/net/sfc/falcon_xmac.c index 3d65abf85b97..c84a2ce2ccbb 100644 --- a/drivers/net/sfc/falcon_xmac.c +++ b/drivers/net/sfc/falcon_xmac.c | |||
@@ -26,7 +26,7 @@ | |||
26 | *************************************************************************/ | 26 | *************************************************************************/ |
27 | 27 | ||
28 | /* Configure the XAUI driver that is an output from Falcon */ | 28 | /* Configure the XAUI driver that is an output from Falcon */ |
29 | static void falcon_setup_xaui(struct efx_nic *efx) | 29 | void falcon_setup_xaui(struct efx_nic *efx) |
30 | { | 30 | { |
31 | efx_oword_t sdctl, txdrv; | 31 | efx_oword_t sdctl, txdrv; |
32 | 32 | ||
diff --git a/drivers/net/sfc/nic.h b/drivers/net/sfc/nic.h index 9351c0331a47..7e3bec8561b8 100644 --- a/drivers/net/sfc/nic.h +++ b/drivers/net/sfc/nic.h | |||
@@ -203,6 +203,7 @@ extern void falcon_irq_ack_a1(struct efx_nic *efx); | |||
203 | extern int efx_nic_flush_queues(struct efx_nic *efx); | 203 | extern int efx_nic_flush_queues(struct efx_nic *efx); |
204 | extern void falcon_start_nic_stats(struct efx_nic *efx); | 204 | extern void falcon_start_nic_stats(struct efx_nic *efx); |
205 | extern void falcon_stop_nic_stats(struct efx_nic *efx); | 205 | extern void falcon_stop_nic_stats(struct efx_nic *efx); |
206 | extern void falcon_setup_xaui(struct efx_nic *efx); | ||
206 | extern int falcon_reset_xaui(struct efx_nic *efx); | 207 | extern int falcon_reset_xaui(struct efx_nic *efx); |
207 | extern void efx_nic_init_common(struct efx_nic *efx); | 208 | extern void efx_nic_init_common(struct efx_nic *efx); |
208 | 209 | ||