Commit 18ea024f authored by Ben Hutchings's avatar Ben Hutchings Committed by David S. Miller

sfc: Merge efx_fc_resolve() into efx_mdio_get_pause()

efx_fc_resolve() is specific to MDIO and is not used by any other
function.
Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent a5211bb5
...@@ -341,10 +341,14 @@ int efx_mdio_set_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd) ...@@ -341,10 +341,14 @@ int efx_mdio_set_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd)
enum efx_fc_type efx_mdio_get_pause(struct efx_nic *efx) enum efx_fc_type efx_mdio_get_pause(struct efx_nic *efx)
{ {
int lpa; BUILD_BUG_ON(EFX_FC_AUTO & (EFX_FC_RX | EFX_FC_TX));
if (!(efx->phy_op->mmds & MDIO_DEVS_AN)) if (!(efx->wanted_fc & EFX_FC_AUTO))
return efx->wanted_fc; return efx->wanted_fc;
lpa = efx_mdio_read(efx, MDIO_MMD_AN, MDIO_AN_LPA);
return efx_fc_resolve(efx->wanted_fc, lpa); WARN_ON(!(efx->mdio.mmds & MDIO_DEVS_AN));
return mii_resolve_flowctrl_fdx(
mii_advertise_flowctrl(efx->wanted_fc),
efx_mdio_read(efx, MDIO_MMD_AN, MDIO_AN_LPA));
} }
...@@ -497,17 +497,6 @@ enum efx_mac_type { ...@@ -497,17 +497,6 @@ enum efx_mac_type {
EFX_XMAC = 2, EFX_XMAC = 2,
}; };
static inline enum efx_fc_type efx_fc_resolve(enum efx_fc_type wanted_fc,
unsigned int lpa)
{
BUILD_BUG_ON(EFX_FC_AUTO & (EFX_FC_RX | EFX_FC_TX));
if (!(wanted_fc & EFX_FC_AUTO))
return wanted_fc;
return mii_resolve_flowctrl_fdx(mii_advertise_flowctrl(wanted_fc), lpa);
}
/** /**
* struct efx_mac_operations - Efx MAC operations table * struct efx_mac_operations - Efx MAC operations table
* @reconfigure: Reconfigure MAC. Serialised by the mac_lock * @reconfigure: Reconfigure MAC. Serialised by the mac_lock
......
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