diff options
Diffstat (limited to 'drivers/net/sfc/mcdi_phy.c')
| -rw-r--r-- | drivers/net/sfc/mcdi_phy.c | 41 | 
1 files changed, 22 insertions, 19 deletions
diff --git a/drivers/net/sfc/mcdi_phy.c b/drivers/net/sfc/mcdi_phy.c index 6032c0e1f1f..0121e71702b 100644 --- a/drivers/net/sfc/mcdi_phy.c +++ b/drivers/net/sfc/mcdi_phy.c @@ -20,7 +20,7 @@  #include "nic.h"  #include "selftest.h" -struct efx_mcdi_phy_cfg { +struct efx_mcdi_phy_data {  	u32 flags;  	u32 type;  	u32 supported_cap; @@ -35,7 +35,7 @@ struct efx_mcdi_phy_cfg {  };  static int -efx_mcdi_get_phy_cfg(struct efx_nic *efx, struct efx_mcdi_phy_cfg *cfg) +efx_mcdi_get_phy_cfg(struct efx_nic *efx, struct efx_mcdi_phy_data *cfg)  {  	u8 outbuf[MC_CMD_GET_PHY_CFG_OUT_LEN];  	size_t outlen; @@ -71,7 +71,7 @@ efx_mcdi_get_phy_cfg(struct efx_nic *efx, struct efx_mcdi_phy_cfg *cfg)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -97,7 +97,7 @@ static int efx_mcdi_set_link(struct efx_nic *efx, u32 capabilities,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -122,7 +122,7 @@ static int efx_mcdi_loopback_modes(struct efx_nic *efx, u64 *loopback_modes)  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -150,7 +150,7 @@ int efx_mcdi_mdio_read(struct efx_nic *efx, unsigned int bus,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -178,7 +178,7 @@ int efx_mcdi_mdio_write(struct efx_nic *efx, unsigned int bus,  	return 0;  fail: -	EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +	netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", __func__, rc);  	return rc;  } @@ -259,7 +259,7 @@ static u32 ethtool_to_mcdi_cap(u32 cap)  static u32 efx_get_mcdi_phy_flags(struct efx_nic *efx)  { -	struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; +	struct efx_mcdi_phy_data *phy_cfg = efx->phy_data;  	enum efx_phy_mode mode, supported;  	u32 flags; @@ -307,7 +307,7 @@ static u32 mcdi_to_ethtool_media(u32 media)  static int efx_mcdi_phy_probe(struct efx_nic *efx)  { -	struct efx_mcdi_phy_cfg *phy_data; +	struct efx_mcdi_phy_data *phy_data;  	u8 outbuf[MC_CMD_GET_LINK_OUT_LEN];  	u32 caps;  	int rc; @@ -395,6 +395,7 @@ static int efx_mcdi_phy_probe(struct efx_nic *efx)  	efx->wanted_fc = EFX_FC_RX | EFX_FC_TX;  	if (phy_data->supported_cap & (1 << MC_CMD_PHY_CAP_AN_LBN))  		efx->wanted_fc |= EFX_FC_AUTO; +	efx_link_set_wanted_fc(efx, efx->wanted_fc);  	return 0; @@ -405,7 +406,7 @@ fail:  int efx_mcdi_phy_reconfigure(struct efx_nic *efx)  { -	struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; +	struct efx_mcdi_phy_data *phy_cfg = efx->phy_data;  	u32 caps = (efx->link_advertising ?  		    ethtool_to_mcdi_cap(efx->link_advertising) :  		    phy_cfg->forced_cap); @@ -446,7 +447,7 @@ void efx_mcdi_phy_decode_link(struct efx_nic *efx,   */  void efx_mcdi_phy_check_fcntl(struct efx_nic *efx, u32 lpa)  { -	struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; +	struct efx_mcdi_phy_data *phy_cfg = efx->phy_data;  	u32 rmtadv;  	/* The link partner capabilities are only relevent if the @@ -465,8 +466,8 @@ void efx_mcdi_phy_check_fcntl(struct efx_nic *efx, u32 lpa)  		rmtadv |=  ADVERTISED_Asym_Pause;  	if ((efx->wanted_fc & EFX_FC_TX) && rmtadv == ADVERTISED_Asym_Pause) -		EFX_ERR(efx, "warning: link partner doesn't support " -			"pause frames"); +		netif_err(efx, link, efx->net_dev, +			  "warning: link partner doesn't support pause frames");  }  static bool efx_mcdi_phy_poll(struct efx_nic *efx) @@ -482,7 +483,8 @@ static bool efx_mcdi_phy_poll(struct efx_nic *efx)  	rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0,  			  outbuf, sizeof(outbuf), NULL);  	if (rc) { -		EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +		netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", +			  __func__, rc);  		efx->link_state.up = false;  	} else {  		efx_mcdi_phy_decode_link( @@ -505,7 +507,7 @@ static void efx_mcdi_phy_remove(struct efx_nic *efx)  static void efx_mcdi_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd)  { -	struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; +	struct efx_mcdi_phy_data *phy_cfg = efx->phy_data;  	u8 outbuf[MC_CMD_GET_LINK_OUT_LEN];  	int rc; @@ -525,7 +527,8 @@ static void efx_mcdi_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *e  	rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0,  			  outbuf, sizeof(outbuf), NULL);  	if (rc) { -		EFX_ERR(efx, "%s: failed rc=%d\n", __func__, rc); +		netif_err(efx, hw, efx->net_dev, "%s: failed rc=%d\n", +			  __func__, rc);  		return;  	}  	ecmd->lp_advertising = @@ -535,7 +538,7 @@ static void efx_mcdi_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *e  static int efx_mcdi_phy_set_settings(struct efx_nic *efx, struct ethtool_cmd *ecmd)  { -	struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; +	struct efx_mcdi_phy_data *phy_cfg = efx->phy_data;  	u32 caps;  	int rc; @@ -674,7 +677,7 @@ out:  static int efx_mcdi_phy_run_tests(struct efx_nic *efx, int *results,  				  unsigned flags)  { -	struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; +	struct efx_mcdi_phy_data *phy_cfg = efx->phy_data;  	u32 mode;  	int rc; @@ -712,7 +715,7 @@ static int efx_mcdi_phy_run_tests(struct efx_nic *efx, int *results,  const char *efx_mcdi_phy_test_name(struct efx_nic *efx, unsigned int index)  { -	struct efx_mcdi_phy_cfg *phy_cfg = efx->phy_data; +	struct efx_mcdi_phy_data *phy_cfg = efx->phy_data;  	if (phy_cfg->flags & (1 << MC_CMD_GET_PHY_CFG_BIST_LBN)) {  		if (index == 0)  |