Lines Matching refs:ecmd
506 static void efx_mcdi_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd) in efx_mcdi_phy_get_settings() argument
512 ecmd->supported = in efx_mcdi_phy_get_settings()
514 ecmd->advertising = efx->link_advertising; in efx_mcdi_phy_get_settings()
515 ethtool_cmd_speed_set(ecmd, efx->link_state.speed); in efx_mcdi_phy_get_settings()
516 ecmd->duplex = efx->link_state.fd; in efx_mcdi_phy_get_settings()
517 ecmd->port = mcdi_to_ethtool_media(phy_cfg->media); in efx_mcdi_phy_get_settings()
518 ecmd->phy_address = phy_cfg->port; in efx_mcdi_phy_get_settings()
519 ecmd->transceiver = XCVR_INTERNAL; in efx_mcdi_phy_get_settings()
520 ecmd->autoneg = !!(efx->link_advertising & ADVERTISED_Autoneg); in efx_mcdi_phy_get_settings()
521 ecmd->mdio_support = (efx->mdio.mode_support & in efx_mcdi_phy_get_settings()
529 ecmd->lp_advertising = in efx_mcdi_phy_get_settings()
534 static int efx_mcdi_phy_set_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd) in efx_mcdi_phy_set_settings() argument
540 if (ecmd->autoneg) { in efx_mcdi_phy_set_settings()
541 caps = (ethtool_to_mcdi_cap(ecmd->advertising) | in efx_mcdi_phy_set_settings()
543 } else if (ecmd->duplex) { in efx_mcdi_phy_set_settings()
544 switch (ethtool_cmd_speed(ecmd)) { in efx_mcdi_phy_set_settings()
553 switch (ethtool_cmd_speed(ecmd)) { in efx_mcdi_phy_set_settings()
566 if (ecmd->autoneg) { in efx_mcdi_phy_set_settings()
568 efx, ecmd->advertising | ADVERTISED_Autoneg); in efx_mcdi_phy_set_settings()