net/ice/base: cleanup update link info
1. Do not unnecessarily initialize local variable. 2. Cleanup ice_update_link_info. 3. Don't clear auto_fec bit in ice_cfg_phy_fec. Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Chinh T Cao <chinh.t.cao@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Leyi Rong <leyi.rong@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
This commit is contained in:
parent
ba389b4b24
commit
3940540c5d
@ -2414,10 +2414,10 @@ void
|
||||
ice_update_phy_type(u64 *phy_type_low, u64 *phy_type_high,
|
||||
u16 link_speeds_bitmap)
|
||||
{
|
||||
u16 speed = ICE_AQ_LINK_SPEED_UNKNOWN;
|
||||
u64 pt_high;
|
||||
u64 pt_low;
|
||||
int index;
|
||||
u16 speed;
|
||||
|
||||
/* We first check with low part of phy_type */
|
||||
for (index = 0; index <= ICE_PHY_TYPE_LOW_MAX_INDEX; index++) {
|
||||
@ -2498,38 +2498,38 @@ ice_aq_set_phy_cfg(struct ice_hw *hw, struct ice_port_info *pi,
|
||||
*/
|
||||
enum ice_status ice_update_link_info(struct ice_port_info *pi)
|
||||
{
|
||||
struct ice_aqc_get_phy_caps_data *pcaps;
|
||||
struct ice_phy_info *phy_info;
|
||||
struct ice_link_status *li;
|
||||
enum ice_status status;
|
||||
struct ice_hw *hw;
|
||||
|
||||
if (!pi)
|
||||
return ICE_ERR_PARAM;
|
||||
|
||||
hw = pi->hw;
|
||||
li = &pi->phy.link_info;
|
||||
|
||||
status = ice_aq_get_link_info(pi, true, NULL, NULL);
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
if (li->link_info & ICE_AQ_MEDIA_AVAILABLE) {
|
||||
struct ice_aqc_get_phy_caps_data *pcaps;
|
||||
struct ice_hw *hw;
|
||||
|
||||
hw = pi->hw;
|
||||
pcaps = (struct ice_aqc_get_phy_caps_data *)
|
||||
ice_malloc(hw, sizeof(*pcaps));
|
||||
if (!pcaps)
|
||||
return ICE_ERR_NO_MEMORY;
|
||||
|
||||
phy_info = &pi->phy;
|
||||
status = ice_aq_get_link_info(pi, true, NULL, NULL);
|
||||
if (status)
|
||||
goto out;
|
||||
|
||||
if (phy_info->link_info.link_info & ICE_AQ_MEDIA_AVAILABLE) {
|
||||
status = ice_aq_get_phy_caps(pi, false, ICE_AQC_REPORT_SW_CFG,
|
||||
status = ice_aq_get_phy_caps(pi, false, ICE_AQC_REPORT_TOPO_CAP,
|
||||
pcaps, NULL);
|
||||
if (status)
|
||||
goto out;
|
||||
|
||||
ice_memcpy(phy_info->link_info.module_type, &pcaps->module_type,
|
||||
sizeof(phy_info->link_info.module_type),
|
||||
if (status == ICE_SUCCESS)
|
||||
ice_memcpy(li->module_type, &pcaps->module_type,
|
||||
sizeof(li->module_type),
|
||||
ICE_NONDMA_TO_NONDMA);
|
||||
}
|
||||
out:
|
||||
|
||||
ice_free(hw, pcaps);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
@ -2709,27 +2709,24 @@ ice_cfg_phy_fec(struct ice_aqc_set_phy_cfg_data *cfg, enum ice_fec_mode fec)
|
||||
{
|
||||
switch (fec) {
|
||||
case ICE_FEC_BASER:
|
||||
/* Clear auto FEC and RS bits, and AND BASE-R ability
|
||||
/* Clear RS bits, and AND BASE-R ability
|
||||
* bits and OR request bits.
|
||||
*/
|
||||
cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC;
|
||||
cfg->link_fec_opt &= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_EN |
|
||||
ICE_AQC_PHY_FEC_25G_KR_CLAUSE74_EN;
|
||||
cfg->link_fec_opt |= ICE_AQC_PHY_FEC_10G_KR_40G_KR4_REQ |
|
||||
ICE_AQC_PHY_FEC_25G_KR_REQ;
|
||||
break;
|
||||
case ICE_FEC_RS:
|
||||
/* Clear auto FEC and BASE-R bits, and AND RS ability
|
||||
/* Clear BASE-R bits, and AND RS ability
|
||||
* bits and OR request bits.
|
||||
*/
|
||||
cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC;
|
||||
cfg->link_fec_opt &= ICE_AQC_PHY_FEC_25G_RS_CLAUSE91_EN;
|
||||
cfg->link_fec_opt |= ICE_AQC_PHY_FEC_25G_RS_528_REQ |
|
||||
ICE_AQC_PHY_FEC_25G_RS_544_REQ;
|
||||
break;
|
||||
case ICE_FEC_NONE:
|
||||
/* Clear auto FEC and all FEC option bits. */
|
||||
cfg->caps &= ~ICE_AQC_PHY_EN_AUTO_FEC;
|
||||
/* Clear all FEC option bits. */
|
||||
cfg->link_fec_opt &= ~ICE_AQC_PHY_FEC_MASK;
|
||||
break;
|
||||
case ICE_FEC_AUTO:
|
||||
@ -3829,7 +3826,6 @@ ice_dis_vsi_txq(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u8 num_queues,
|
||||
if (!pi || pi->port_state != ICE_SCHED_PORT_STATE_READY)
|
||||
return ICE_ERR_CFG;
|
||||
|
||||
|
||||
if (!num_queues) {
|
||||
/* if queue is disabled already yet the disable queue command
|
||||
* has to be sent to complete the VF reset, then call
|
||||
|
Loading…
Reference in New Issue
Block a user