Lines Matching +full:enable +full:- +full:lpa

1 // SPDX-License-Identifier: GPL-2.0-only
4 * Copyright 2007-2011 Solarflare Communications Inc.
150 /* Enable 312.5 MHz clock */ in tenxpress_init()
170 return -ENOMEM; in tenxpress_phy_probe()
171 efx->phy_data = phy_data; in tenxpress_phy_probe()
172 phy_data->phy_mode = efx->phy_mode; in tenxpress_phy_probe()
174 efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; in tenxpress_phy_probe()
175 efx->mdio.mode_support = MDIO_SUPPORTS_C45; in tenxpress_phy_probe()
177 efx->loopback_modes = SFX7101_LOOPBACKS | FALCON_XMAC_LOOPBACKS; in tenxpress_phy_probe()
179 efx->link_advertising = (ADVERTISED_TP | ADVERTISED_Autoneg | in tenxpress_phy_probe()
189 falcon_board(efx)->type->init_phy(efx); in tenxpress_phy_init()
191 if (!(efx->phy_mode & PHY_MODE_SPECIAL)) { in tenxpress_phy_init()
206 ef4_link_set_wanted_fc(efx, efx->wanted_fc); in tenxpress_phy_init()
255 struct tenxpress_phy_data *pd = efx->phy_data; in sfx7101_check_bad_lp()
268 pd->bad_lp_tries++; in sfx7101_check_bad_lp()
272 if (!pd->bad_lp_tries) in sfx7101_check_bad_lp()
277 if (!bad_lp || pd->bad_lp_tries == MAX_BAD_LP_TRIES) { in sfx7101_check_bad_lp()
285 netif_err(efx, link, efx->net_dev, in sfx7101_check_bad_lp()
287 " that is not 10GBASE-T capable. The PHY" in sfx7101_check_bad_lp()
288 " supports 10GBASE-T ONLY, so no link can" in sfx7101_check_bad_lp()
293 pd->bad_lp_tries = bad_lp; in sfx7101_check_bad_lp()
309 efx->loopback_mode == LOOPBACK_PHYXS); in tenxpress_ext_loopback()
315 efx, !!(efx->phy_mode & PHY_MODE_LOW_POWER), in tenxpress_low_power()
321 struct tenxpress_phy_data *phy_data = efx->phy_data; in tenxpress_phy_reconfigure()
324 if (efx->phy_mode & (PHY_MODE_OFF | PHY_MODE_SPECIAL)) { in tenxpress_phy_reconfigure()
325 phy_data->phy_mode = efx->phy_mode; in tenxpress_phy_reconfigure()
329 phy_mode_change = (efx->phy_mode == PHY_MODE_NORMAL && in tenxpress_phy_reconfigure()
330 phy_data->phy_mode != PHY_MODE_NORMAL); in tenxpress_phy_reconfigure()
345 phy_data->loopback_mode = efx->loopback_mode; in tenxpress_phy_reconfigure()
346 phy_data->phy_mode = efx->phy_mode; in tenxpress_phy_reconfigure()
354 struct ef4_link_state old_state = efx->link_state; in tenxpress_phy_poll()
356 efx->link_state.up = sfx7101_link_ok(efx); in tenxpress_phy_poll()
357 efx->link_state.speed = 10000; in tenxpress_phy_poll()
358 efx->link_state.fd = true; in tenxpress_phy_poll()
359 efx->link_state.fc = ef4_mdio_get_pause(efx); in tenxpress_phy_poll()
361 sfx7101_check_bad_lp(efx, efx->link_state.up); in tenxpress_phy_poll()
363 return !ef4_link_state_equal(&efx->link_state, &old_state); in tenxpress_phy_poll()
382 kfree(efx->phy_data); in tenxpress_phy_remove()
383 efx->phy_data = NULL; in tenxpress_phy_remove()
432 results[0] = rc ? -1 : 1; in sfx7101_run_tests()
443 u32 adv = 0, lpa = 0; in tenxpress_get_link_ksettings() local
451 lpa |= ADVERTISED_10000baseT_Full; in tenxpress_get_link_ksettings()
453 mdio45_ethtool_ksettings_get_npage(&efx->mdio, cmd, adv, lpa); in tenxpress_get_link_ksettings()
458 cmd->base.speed = SPEED_10000; in tenxpress_get_link_ksettings()
465 if (!cmd->base.autoneg) in tenxpress_set_link_ksettings()
466 return -EINVAL; in tenxpress_set_link_ksettings()