diff options
Diffstat (limited to 'drivers/net/sfc/falcon.c')
-rw-r--r-- | drivers/net/sfc/falcon.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index 63e6734d8341..29d45376e4c9 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -2291,19 +2291,12 @@ static int falcon_probe_port(struct efx_nic *efx) | |||
2291 | return -ENODEV; | 2291 | return -ENODEV; |
2292 | } | 2292 | } |
2293 | 2293 | ||
2294 | if (efx->phy_op->macs & EFX_XMAC) | 2294 | /* Fill out MDIO structure and loopback modes */ |
2295 | efx->loopback_modes |= ((1 << LOOPBACK_XGMII) | | ||
2296 | (1 << LOOPBACK_XGXS) | | ||
2297 | (1 << LOOPBACK_XAUI)); | ||
2298 | if (efx->phy_op->macs & EFX_GMAC) | ||
2299 | efx->loopback_modes |= (1 << LOOPBACK_GMAC); | ||
2300 | efx->loopback_modes |= efx->phy_op->loopbacks; | ||
2301 | |||
2302 | /* Set up MDIO structure for PHY */ | ||
2303 | efx->mdio.mmds = efx->phy_op->mmds; | ||
2304 | efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; | ||
2305 | efx->mdio.mdio_read = falcon_mdio_read; | 2295 | efx->mdio.mdio_read = falcon_mdio_read; |
2306 | efx->mdio.mdio_write = falcon_mdio_write; | 2296 | efx->mdio.mdio_write = falcon_mdio_write; |
2297 | rc = efx->phy_op->probe(efx); | ||
2298 | if (rc != 0) | ||
2299 | return rc; | ||
2307 | 2300 | ||
2308 | /* Initial assumption */ | 2301 | /* Initial assumption */ |
2309 | efx->link_state.speed = 10000; | 2302 | efx->link_state.speed = 10000; |