Commit b7b40eeb authored by Steve Hodgson's avatar Steve Hodgson Committed by David S. Miller

sfc: Reconfigure the XAUI serdes after an EM reset

Fix a regression introduced in d3245b28
"sfc: Refactor link configuration".
Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ef524f2e
...@@ -507,6 +507,9 @@ static void falcon_reset_macs(struct efx_nic *efx) ...@@ -507,6 +507,9 @@ static void falcon_reset_macs(struct efx_nic *efx)
/* Ensure the correct MAC is selected before statistics /* Ensure the correct MAC is selected before statistics
* are re-enabled by the caller */ * are re-enabled by the caller */
efx_writeo(efx, &mac_ctrl, FR_AB_MAC_CTRL); efx_writeo(efx, &mac_ctrl, FR_AB_MAC_CTRL);
/* This can run even when the GMAC is selected */
falcon_setup_xaui(efx);
} }
void falcon_drain_tx_fifo(struct efx_nic *efx) void falcon_drain_tx_fifo(struct efx_nic *efx)
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
*************************************************************************/ *************************************************************************/
/* Configure the XAUI driver that is an output from Falcon */ /* Configure the XAUI driver that is an output from Falcon */
static void falcon_setup_xaui(struct efx_nic *efx) void falcon_setup_xaui(struct efx_nic *efx)
{ {
efx_oword_t sdctl, txdrv; efx_oword_t sdctl, txdrv;
......
...@@ -203,6 +203,7 @@ extern void falcon_irq_ack_a1(struct efx_nic *efx); ...@@ -203,6 +203,7 @@ extern void falcon_irq_ack_a1(struct efx_nic *efx);
extern int efx_nic_flush_queues(struct efx_nic *efx); extern int efx_nic_flush_queues(struct efx_nic *efx);
extern void falcon_start_nic_stats(struct efx_nic *efx); extern void falcon_start_nic_stats(struct efx_nic *efx);
extern void falcon_stop_nic_stats(struct efx_nic *efx); extern void falcon_stop_nic_stats(struct efx_nic *efx);
extern void falcon_setup_xaui(struct efx_nic *efx);
extern int falcon_reset_xaui(struct efx_nic *efx); extern int falcon_reset_xaui(struct efx_nic *efx);
extern void efx_nic_init_common(struct efx_nic *efx); extern void efx_nic_init_common(struct efx_nic *efx);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment