|
|
|
@ -1822,8 +1822,8 @@ static int i40e_set_mac(struct net_device *netdev, void *p)
|
|
|
|
|
ret = i40e_aq_mac_address_write(hw, I40E_AQC_WRITE_TYPE_LAA_WOL,
|
|
|
|
|
addr->sa_data, NULL);
|
|
|
|
|
if (ret)
|
|
|
|
|
netdev_info(netdev, "Ignoring error from firmware on LAA update, status %s, AQ ret %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
netdev_info(netdev, "Ignoring error from firmware on LAA update, status %d, AQ ret %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1854,8 +1854,8 @@ static int i40e_config_rss_aq(struct i40e_vsi *vsi, const u8 *seed,
|
|
|
|
|
ret = i40e_aq_set_rss_key(hw, vsi->id, seed_dw);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Cannot set RSS key, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Cannot set RSS key, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
@ -1866,8 +1866,8 @@ static int i40e_config_rss_aq(struct i40e_vsi *vsi, const u8 *seed,
|
|
|
|
|
ret = i40e_aq_set_rss_lut(hw, vsi->id, pf_lut, lut, lut_size);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Cannot set RSS lut, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Cannot set RSS lut, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
@ -2358,8 +2358,8 @@ void i40e_aqc_del_filters(struct i40e_vsi *vsi, const char *vsi_name,
|
|
|
|
|
if (aq_ret && !(aq_status == I40E_AQ_RC_ENOENT)) {
|
|
|
|
|
*retval = -EIO;
|
|
|
|
|
dev_info(&vsi->back->pdev->dev,
|
|
|
|
|
"ignoring delete macvlan error on %s, err %s, aq_err %s\n",
|
|
|
|
|
vsi_name, i40e_stat_str(hw, aq_ret),
|
|
|
|
|
"ignoring delete macvlan error on %s, err %d, aq_err %s\n",
|
|
|
|
|
vsi_name, aq_ret,
|
|
|
|
|
i40e_aq_str(hw, aq_status));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -2488,8 +2488,8 @@ static int i40e_set_promiscuous(struct i40e_pf *pf, bool promisc)
|
|
|
|
|
NULL);
|
|
|
|
|
if (aq_ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Set default VSI failed, err %s, aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, aq_ret),
|
|
|
|
|
"Set default VSI failed, err %d, aq_err %s\n",
|
|
|
|
|
aq_ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
@ -2500,8 +2500,8 @@ static int i40e_set_promiscuous(struct i40e_pf *pf, bool promisc)
|
|
|
|
|
true);
|
|
|
|
|
if (aq_ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"set unicast promisc failed, err %s, aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, aq_ret),
|
|
|
|
|
"set unicast promisc failed, err %d, aq_err %s\n",
|
|
|
|
|
aq_ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
aq_ret = i40e_aq_set_vsi_multicast_promiscuous(
|
|
|
|
@ -2510,8 +2510,8 @@ static int i40e_set_promiscuous(struct i40e_pf *pf, bool promisc)
|
|
|
|
|
promisc, NULL);
|
|
|
|
|
if (aq_ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"set multicast promisc failed, err %s, aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, aq_ret),
|
|
|
|
|
"set multicast promisc failed, err %d, aq_err %s\n",
|
|
|
|
|
aq_ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -2814,9 +2814,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
|
|
|
|
|
retval = i40e_aq_rc_to_posix(aq_ret,
|
|
|
|
|
hw->aq.asq_last_status);
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"set multi promisc failed on %s, err %s aq_err %s\n",
|
|
|
|
|
"set multi promisc failed on %s, err %d aq_err %s\n",
|
|
|
|
|
vsi_name,
|
|
|
|
|
i40e_stat_str(hw, aq_ret),
|
|
|
|
|
aq_ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
} else {
|
|
|
|
|
dev_info(&pf->pdev->dev, "%s allmulti mode.\n",
|
|
|
|
@ -2834,10 +2834,10 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
|
|
|
|
|
retval = i40e_aq_rc_to_posix(aq_ret,
|
|
|
|
|
hw->aq.asq_last_status);
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Setting promiscuous %s failed on %s, err %s aq_err %s\n",
|
|
|
|
|
"Setting promiscuous %s failed on %s, err %d aq_err %s\n",
|
|
|
|
|
cur_promisc ? "on" : "off",
|
|
|
|
|
vsi_name,
|
|
|
|
|
i40e_stat_str(hw, aq_ret),
|
|
|
|
|
aq_ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -2985,8 +2985,8 @@ void i40e_vlan_stripping_enable(struct i40e_vsi *vsi)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&vsi->back->pdev->dev,
|
|
|
|
|
"update vlan stripping failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&vsi->back->hw, ret),
|
|
|
|
|
"update vlan stripping failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&vsi->back->hw,
|
|
|
|
|
vsi->back->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
@ -3020,8 +3020,8 @@ void i40e_vlan_stripping_disable(struct i40e_vsi *vsi)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&vsi->back->pdev->dev,
|
|
|
|
|
"update vlan stripping failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&vsi->back->hw, ret),
|
|
|
|
|
"update vlan stripping failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&vsi->back->hw,
|
|
|
|
|
vsi->back->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
@ -3265,8 +3265,8 @@ int i40e_vsi_add_pvid(struct i40e_vsi *vsi, u16 vid)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&vsi->back->pdev->dev,
|
|
|
|
|
"add pvid failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&vsi->back->hw, ret),
|
|
|
|
|
"add pvid failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&vsi->back->hw,
|
|
|
|
|
vsi->back->hw.aq.asq_last_status));
|
|
|
|
|
return -ENOENT;
|
|
|
|
@ -5532,8 +5532,8 @@ static int i40e_vsi_get_bw_info(struct i40e_vsi *vsi)
|
|
|
|
|
ret = i40e_aq_query_vsi_bw_config(hw, vsi->seid, &bw_config, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get PF vsi bw config, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get PF vsi bw config, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return -EINVAL;
|
|
|
|
|
}
|
|
|
|
@ -5543,8 +5543,8 @@ static int i40e_vsi_get_bw_info(struct i40e_vsi *vsi)
|
|
|
|
|
NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get PF vsi ets bw config, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get PF vsi ets bw config, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return -EINVAL;
|
|
|
|
|
}
|
|
|
|
@ -5733,8 +5733,8 @@ int i40e_update_adq_vsi_queues(struct i40e_vsi *vsi, int vsi_offset)
|
|
|
|
|
|
|
|
|
|
ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev, "Update vsi config failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
dev_info(&pf->pdev->dev, "Update vsi config failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
@ -5789,8 +5789,8 @@ static int i40e_vsi_config_tc(struct i40e_vsi *vsi, u8 enabled_tc)
|
|
|
|
|
&bw_config, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Failed querying vsi bw info, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Failed querying vsi bw info, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -5856,8 +5856,8 @@ static int i40e_vsi_config_tc(struct i40e_vsi *vsi, u8 enabled_tc)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Update vsi tc config failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Update vsi tc config failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -5869,8 +5869,8 @@ static int i40e_vsi_config_tc(struct i40e_vsi *vsi, u8 enabled_tc)
|
|
|
|
|
ret = i40e_vsi_get_bw_info(vsi);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Failed updating vsi bw info, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Failed updating vsi bw info, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -5961,8 +5961,8 @@ int i40e_set_bw_limit(struct i40e_vsi *vsi, u16 seid, u64 max_tx_rate)
|
|
|
|
|
I40E_MAX_BW_INACTIVE_ACCUM, NULL);
|
|
|
|
|
if (ret)
|
|
|
|
|
dev_err(&pf->pdev->dev,
|
|
|
|
|
"Failed set tx rate (%llu Mbps) for vsi->seid %u, err %s aq_err %s\n",
|
|
|
|
|
max_tx_rate, seid, i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Failed set tx rate (%llu Mbps) for vsi->seid %u, err %d aq_err %s\n",
|
|
|
|
|
max_tx_rate, seid, ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
@ -6037,8 +6037,8 @@ static void i40e_remove_queue_channels(struct i40e_vsi *vsi)
|
|
|
|
|
last_aq_status = pf->hw.aq.asq_last_status;
|
|
|
|
|
if (ret)
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Failed to delete cloud filter, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Failed to delete cloud filter, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, last_aq_status));
|
|
|
|
|
kfree(cfilter);
|
|
|
|
|
}
|
|
|
|
@ -6172,8 +6172,8 @@ static int i40e_vsi_reconfig_rss(struct i40e_vsi *vsi, u16 rss_size)
|
|
|
|
|
ret = i40e_config_rss(vsi, seed, lut, vsi->rss_table_size);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Cannot set RSS lut, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Cannot set RSS lut, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
kfree(lut);
|
|
|
|
|
return ret;
|
|
|
|
@ -6271,8 +6271,8 @@ static int i40e_add_channel(struct i40e_pf *pf, u16 uplink_seid,
|
|
|
|
|
ret = i40e_aq_add_vsi(hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"add new vsi failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"add new vsi failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
return -ENOENT;
|
|
|
|
@ -6517,8 +6517,8 @@ static int i40e_validate_and_set_switch_mode(struct i40e_vsi *vsi)
|
|
|
|
|
mode, NULL);
|
|
|
|
|
if (ret && hw->aq.asq_last_status != I40E_AQ_RC_ESRCH)
|
|
|
|
|
dev_err(&pf->pdev->dev,
|
|
|
|
|
"couldn't set switch config bits, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"couldn't set switch config bits, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw,
|
|
|
|
|
hw->aq.asq_last_status));
|
|
|
|
|
|
|
|
|
@ -6718,8 +6718,8 @@ int i40e_veb_config_tc(struct i40e_veb *veb, u8 enabled_tc)
|
|
|
|
|
&bw_data, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"VEB bw config failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"VEB bw config failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -6728,8 +6728,8 @@ int i40e_veb_config_tc(struct i40e_veb *veb, u8 enabled_tc)
|
|
|
|
|
ret = i40e_veb_get_bw_info(veb);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Failed getting veb bw config, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Failed getting veb bw config, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -6812,8 +6812,8 @@ static int i40e_resume_port_tx(struct i40e_pf *pf)
|
|
|
|
|
ret = i40e_aq_resume_port_tx(hw, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Resume Port Tx failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Resume Port Tx failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
/* Schedule PF reset to recover */
|
|
|
|
|
set_bit(__I40E_PF_RESET_REQUESTED, pf->state);
|
|
|
|
@ -6837,8 +6837,8 @@ static int i40e_suspend_port_tx(struct i40e_pf *pf)
|
|
|
|
|
ret = i40e_aq_suspend_port_tx(hw, pf->mac_seid, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Suspend Port Tx failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Suspend Port Tx failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
/* Schedule PF reset to recover */
|
|
|
|
|
set_bit(__I40E_PF_RESET_REQUESTED, pf->state);
|
|
|
|
@ -6877,8 +6877,8 @@ static int i40e_hw_set_dcb_config(struct i40e_pf *pf,
|
|
|
|
|
ret = i40e_set_dcb_config(&pf->hw);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Set DCB Config failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Set DCB Config failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -6994,8 +6994,8 @@ int i40e_hw_dcb_config(struct i40e_pf *pf, struct i40e_dcbx_config *new_cfg)
|
|
|
|
|
i40e_aqc_opc_modify_switching_comp_ets, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Modify Port ETS failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Modify Port ETS failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -7032,8 +7032,8 @@ int i40e_hw_dcb_config(struct i40e_pf *pf, struct i40e_dcbx_config *new_cfg)
|
|
|
|
|
ret = i40e_aq_dcb_updated(&pf->hw, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"DCB Updated failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"DCB Updated failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -7116,8 +7116,8 @@ int i40e_dcb_sw_default_config(struct i40e_pf *pf)
|
|
|
|
|
i40e_aqc_opc_enable_switching_comp_ets, NULL);
|
|
|
|
|
if (err) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Enable Port ETS failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
"Enable Port ETS failed, err %d aq_err %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
err = -ENOENT;
|
|
|
|
|
goto out;
|
|
|
|
@ -7196,8 +7196,8 @@ static int i40e_init_pf_dcb(struct i40e_pf *pf)
|
|
|
|
|
pf->flags |= I40E_FLAG_DISABLE_FW_LLDP;
|
|
|
|
|
} else {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Query for DCB configuration failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
"Query for DCB configuration failed, err %d aq_err %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -7435,8 +7435,8 @@ static i40e_status i40e_force_link_state(struct i40e_pf *pf, bool is_up)
|
|
|
|
|
NULL);
|
|
|
|
|
if (err) {
|
|
|
|
|
dev_err(&pf->pdev->dev,
|
|
|
|
|
"failed to get phy cap., ret = %s last_status = %s\n",
|
|
|
|
|
i40e_stat_str(hw, err),
|
|
|
|
|
"failed to get phy cap., ret = %d last_status = %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
@ -7447,8 +7447,8 @@ static i40e_status i40e_force_link_state(struct i40e_pf *pf, bool is_up)
|
|
|
|
|
NULL);
|
|
|
|
|
if (err) {
|
|
|
|
|
dev_err(&pf->pdev->dev,
|
|
|
|
|
"failed to get phy cap., ret = %s last_status = %s\n",
|
|
|
|
|
i40e_stat_str(hw, err),
|
|
|
|
|
"failed to get phy cap., ret = %d last_status = %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
@ -7492,8 +7492,8 @@ static i40e_status i40e_force_link_state(struct i40e_pf *pf, bool is_up)
|
|
|
|
|
|
|
|
|
|
if (err) {
|
|
|
|
|
dev_err(&pf->pdev->dev,
|
|
|
|
|
"set phy config ret = %s last_status = %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
"set phy config ret = %d last_status = %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return err;
|
|
|
|
|
}
|
|
|
|
@ -7833,8 +7833,8 @@ static int i40e_fwd_ring_up(struct i40e_vsi *vsi, struct net_device *vdev,
|
|
|
|
|
rx_ring->netdev = NULL;
|
|
|
|
|
}
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Error adding mac filter on macvlan err %s, aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Error adding mac filter on macvlan err %d, aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, aq_err));
|
|
|
|
|
netdev_err(vdev, "L2fwd offload disabled to L2 filter error\n");
|
|
|
|
|
}
|
|
|
|
@ -7906,8 +7906,8 @@ static int i40e_setup_macvlans(struct i40e_vsi *vsi, u16 macvlan_cnt, u16 qcnt,
|
|
|
|
|
ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Update vsi tc config failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Update vsi tc config failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
@ -8122,8 +8122,8 @@ static void i40e_fwd_del(struct net_device *netdev, void *vdev)
|
|
|
|
|
ch->fwd = NULL;
|
|
|
|
|
} else {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Error deleting mac filter on macvlan err %s, aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
"Error deleting mac filter on macvlan err %d, aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, aq_err));
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
@ -8874,8 +8874,7 @@ static int i40e_delete_clsflower(struct i40e_vsi *vsi,
|
|
|
|
|
kfree(filter);
|
|
|
|
|
if (err) {
|
|
|
|
|
dev_err(&pf->pdev->dev,
|
|
|
|
|
"Failed to delete cloud filter, err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err));
|
|
|
|
|
"Failed to delete cloud filter, err %d\n", err);
|
|
|
|
|
return i40e_aq_rc_to_posix(err, pf->hw.aq.asq_last_status);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -9437,8 +9436,8 @@ static int i40e_handle_lldp_event(struct i40e_pf *pf,
|
|
|
|
|
pf->flags &= ~I40E_FLAG_DCB_CAPABLE;
|
|
|
|
|
} else {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Failed querying DCB configuration data from firmware, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Failed querying DCB configuration data from firmware, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
@ -10264,8 +10263,8 @@ static void i40e_enable_pf_switch_lb(struct i40e_pf *pf)
|
|
|
|
|
ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get PF vsi config, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get PF vsi config, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -10276,8 +10275,8 @@ static void i40e_enable_pf_switch_lb(struct i40e_pf *pf)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"update vsi switch failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"update vsi switch failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -10300,8 +10299,8 @@ static void i40e_disable_pf_switch_lb(struct i40e_pf *pf)
|
|
|
|
|
ret = i40e_aq_get_vsi_params(&pf->hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get PF vsi config, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get PF vsi config, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
@ -10312,8 +10311,8 @@ static void i40e_disable_pf_switch_lb(struct i40e_pf *pf)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(&vsi->back->hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"update vsi switch failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"update vsi switch failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -10457,8 +10456,8 @@ static int i40e_get_capabilities(struct i40e_pf *pf,
|
|
|
|
|
buf_len = data_size;
|
|
|
|
|
} else if (pf->hw.aq.asq_last_status != I40E_AQ_RC_OK || err) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"capability discovery failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
"capability discovery failed, err %d aq_err %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
return -ENODEV;
|
|
|
|
@ -10595,8 +10594,8 @@ static int i40e_rebuild_cloud_filters(struct i40e_vsi *vsi, u16 seid)
|
|
|
|
|
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_dbg(&pf->pdev->dev,
|
|
|
|
|
"Failed to rebuild cloud filter, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Failed to rebuild cloud filter, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
@ -10836,8 +10835,8 @@ static void i40e_rebuild(struct i40e_pf *pf, bool reinit, bool lock_acquired)
|
|
|
|
|
/* rebuild the basics for the AdminQ, HMC, and initial HW switch */
|
|
|
|
|
ret = i40e_init_adminq(&pf->hw);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev, "Rebuild AdminQ failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
dev_info(&pf->pdev->dev, "Rebuild AdminQ failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
goto clear_recovery;
|
|
|
|
|
}
|
|
|
|
@ -10948,8 +10947,8 @@ static void i40e_rebuild(struct i40e_pf *pf, bool reinit, bool lock_acquired)
|
|
|
|
|
I40E_AQ_EVENT_MEDIA_NA |
|
|
|
|
|
I40E_AQ_EVENT_MODULE_QUAL_FAIL), NULL);
|
|
|
|
|
if (ret)
|
|
|
|
|
dev_info(&pf->pdev->dev, "set phy mask fail, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
dev_info(&pf->pdev->dev, "set phy mask fail, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
|
|
|
|
|
/* Rebuild the VSIs and VEBs that existed before reset.
|
|
|
|
@ -11052,8 +11051,8 @@ static void i40e_rebuild(struct i40e_pf *pf, bool reinit, bool lock_acquired)
|
|
|
|
|
msleep(75);
|
|
|
|
|
ret = i40e_aq_set_link_restart_an(&pf->hw, true, NULL);
|
|
|
|
|
if (ret)
|
|
|
|
|
dev_info(&pf->pdev->dev, "link restart failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
dev_info(&pf->pdev->dev, "link restart failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
@ -11084,9 +11083,9 @@ static void i40e_rebuild(struct i40e_pf *pf, bool reinit, bool lock_acquired)
|
|
|
|
|
ret = i40e_set_promiscuous(pf, pf->cur_promisc);
|
|
|
|
|
if (ret)
|
|
|
|
|
dev_warn(&pf->pdev->dev,
|
|
|
|
|
"Failed to restore promiscuous setting: %s, err %s aq_err %s\n",
|
|
|
|
|
"Failed to restore promiscuous setting: %s, err %d aq_err %s\n",
|
|
|
|
|
pf->cur_promisc ? "on" : "off",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
|
|
|
|
|
i40e_reset_all_vfs(pf, true);
|
|
|
|
@ -12220,8 +12219,8 @@ static int i40e_get_rss_aq(struct i40e_vsi *vsi, const u8 *seed,
|
|
|
|
|
(struct i40e_aqc_get_set_rss_key_data *)seed);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Cannot get RSS key, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Cannot get RSS key, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
@ -12234,8 +12233,8 @@ static int i40e_get_rss_aq(struct i40e_vsi *vsi, const u8 *seed,
|
|
|
|
|
ret = i40e_aq_get_rss_lut(hw, vsi->id, pf_lut, lut, lut_size);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Cannot get RSS lut, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Cannot get RSS lut, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
@ -12575,8 +12574,8 @@ i40e_status i40e_commit_partition_bw_setting(struct i40e_pf *pf)
|
|
|
|
|
last_aq_status = pf->hw.aq.asq_last_status;
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Cannot acquire NVM for read access, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Cannot acquire NVM for read access, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, last_aq_status));
|
|
|
|
|
goto bw_commit_out;
|
|
|
|
|
}
|
|
|
|
@ -12592,8 +12591,8 @@ i40e_status i40e_commit_partition_bw_setting(struct i40e_pf *pf)
|
|
|
|
|
last_aq_status = pf->hw.aq.asq_last_status;
|
|
|
|
|
i40e_release_nvm(&pf->hw);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev, "NVM read error, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
dev_info(&pf->pdev->dev, "NVM read error, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, last_aq_status));
|
|
|
|
|
goto bw_commit_out;
|
|
|
|
|
}
|
|
|
|
@ -12606,8 +12605,8 @@ i40e_status i40e_commit_partition_bw_setting(struct i40e_pf *pf)
|
|
|
|
|
last_aq_status = pf->hw.aq.asq_last_status;
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"Cannot acquire NVM for write access, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"Cannot acquire NVM for write access, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, last_aq_status));
|
|
|
|
|
goto bw_commit_out;
|
|
|
|
|
}
|
|
|
|
@ -12626,8 +12625,8 @@ i40e_status i40e_commit_partition_bw_setting(struct i40e_pf *pf)
|
|
|
|
|
i40e_release_nvm(&pf->hw);
|
|
|
|
|
if (ret)
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"BW settings NOT SAVED, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"BW settings NOT SAVED, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, last_aq_status));
|
|
|
|
|
bw_commit_out:
|
|
|
|
|
|
|
|
|
@ -12681,8 +12680,8 @@ static bool i40e_is_total_port_shutdown_enabled(struct i40e_pf *pf)
|
|
|
|
|
|
|
|
|
|
err_nvm:
|
|
|
|
|
dev_warn(&pf->pdev->dev,
|
|
|
|
|
"total-port-shutdown feature is off due to read nvm error: %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, read_status));
|
|
|
|
|
"total-port-shutdown feature is off due to read nvm error: %d\n",
|
|
|
|
|
read_status);
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -13009,8 +13008,8 @@ static int i40e_udp_tunnel_set_port(struct net_device *netdev,
|
|
|
|
|
ret = i40e_aq_add_udp_tunnel(hw, ntohs(ti->port), type, &filter_index,
|
|
|
|
|
NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
netdev_info(netdev, "add UDP port failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
netdev_info(netdev, "add UDP port failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return -EIO;
|
|
|
|
|
}
|
|
|
|
@ -13029,8 +13028,8 @@ static int i40e_udp_tunnel_unset_port(struct net_device *netdev,
|
|
|
|
|
|
|
|
|
|
ret = i40e_aq_del_udp_tunnel(hw, ti->hw_priv, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
netdev_info(netdev, "delete UDP port failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(hw, ret),
|
|
|
|
|
netdev_info(netdev, "delete UDP port failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(hw, hw->aq.asq_last_status));
|
|
|
|
|
return -EIO;
|
|
|
|
|
}
|
|
|
|
@ -13919,8 +13918,8 @@ static int i40e_add_vsi(struct i40e_vsi *vsi)
|
|
|
|
|
ctxt.flags = I40E_AQ_VSI_TYPE_PF;
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get PF vsi config, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get PF vsi config, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
return -ENOENT;
|
|
|
|
@ -13949,8 +13948,8 @@ static int i40e_add_vsi(struct i40e_vsi *vsi)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"update vsi failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"update vsi failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
ret = -ENOENT;
|
|
|
|
@ -13969,8 +13968,8 @@ static int i40e_add_vsi(struct i40e_vsi *vsi)
|
|
|
|
|
ret = i40e_aq_update_vsi_params(hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"update vsi failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"update vsi failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
ret = -ENOENT;
|
|
|
|
@ -13992,9 +13991,9 @@ static int i40e_add_vsi(struct i40e_vsi *vsi)
|
|
|
|
|
* message and continue
|
|
|
|
|
*/
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"failed to configure TCs for main VSI tc_map 0x%08x, err %s aq_err %s\n",
|
|
|
|
|
"failed to configure TCs for main VSI tc_map 0x%08x, err %d aq_err %s\n",
|
|
|
|
|
enabled_tc,
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
@ -14088,8 +14087,8 @@ static int i40e_add_vsi(struct i40e_vsi *vsi)
|
|
|
|
|
ret = i40e_aq_add_vsi(hw, &ctxt, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&vsi->back->pdev->dev,
|
|
|
|
|
"add vsi failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"add vsi failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
ret = -ENOENT;
|
|
|
|
@ -14120,8 +14119,8 @@ static int i40e_add_vsi(struct i40e_vsi *vsi)
|
|
|
|
|
ret = i40e_vsi_get_bw_info(vsi);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get vsi bw info, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get vsi bw info, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
/* VSI is already added so not tearing that up */
|
|
|
|
|
ret = 0;
|
|
|
|
@ -14567,8 +14566,8 @@ static int i40e_veb_get_bw_info(struct i40e_veb *veb)
|
|
|
|
|
&bw_data, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"query veb bw config failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"query veb bw config failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, hw->aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -14577,8 +14576,8 @@ static int i40e_veb_get_bw_info(struct i40e_veb *veb)
|
|
|
|
|
&ets_data, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"query veb bw ets config failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"query veb bw ets config failed, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, hw->aq.asq_last_status));
|
|
|
|
|
goto out;
|
|
|
|
|
}
|
|
|
|
@ -14774,8 +14773,8 @@ static int i40e_add_veb(struct i40e_veb *veb, struct i40e_vsi *vsi)
|
|
|
|
|
/* get a VEB from the hardware */
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't add VEB, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't add VEB, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return -EPERM;
|
|
|
|
|
}
|
|
|
|
@ -14785,16 +14784,16 @@ static int i40e_add_veb(struct i40e_veb *veb, struct i40e_vsi *vsi)
|
|
|
|
|
&veb->stats_idx, NULL, NULL, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get VEB statistics idx, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get VEB statistics idx, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return -EPERM;
|
|
|
|
|
}
|
|
|
|
|
ret = i40e_veb_get_bw_info(veb);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't get VEB bw info, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't get VEB bw info, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
i40e_aq_delete_element(&pf->hw, veb->seid, NULL);
|
|
|
|
|
return -ENOENT;
|
|
|
|
@ -15004,8 +15003,8 @@ int i40e_fetch_switch_configuration(struct i40e_pf *pf, bool printconfig)
|
|
|
|
|
&next_seid, NULL);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"get switch config failed err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"get switch config failed err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
kfree(aq_buf);
|
|
|
|
@ -15050,8 +15049,8 @@ static int i40e_setup_pf_switch(struct i40e_pf *pf, bool reinit, bool lock_acqui
|
|
|
|
|
ret = i40e_fetch_switch_configuration(pf, false);
|
|
|
|
|
if (ret) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't fetch switch config, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't fetch switch config, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
@ -15077,8 +15076,8 @@ static int i40e_setup_pf_switch(struct i40e_pf *pf, bool reinit, bool lock_acqui
|
|
|
|
|
NULL);
|
|
|
|
|
if (ret && pf->hw.aq.asq_last_status != I40E_AQ_RC_ESRCH) {
|
|
|
|
|
dev_info(&pf->pdev->dev,
|
|
|
|
|
"couldn't set switch config bits, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, ret),
|
|
|
|
|
"couldn't set switch config bits, err %d aq_err %s\n",
|
|
|
|
|
ret,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
/* not a fatal problem, just keep going */
|
|
|
|
@ -15983,8 +15982,8 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
|
|
I40E_AQ_EVENT_MEDIA_NA |
|
|
|
|
|
I40E_AQ_EVENT_MODULE_QUAL_FAIL), NULL);
|
|
|
|
|
if (err)
|
|
|
|
|
dev_info(&pf->pdev->dev, "set phy mask fail, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
dev_info(&pf->pdev->dev, "set phy mask fail, err %d aq_err %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
|
|
|
|
|
/* Reconfigure hardware for allowing smaller MSS in the case
|
|
|
|
@ -16002,8 +16001,8 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
|
|
msleep(75);
|
|
|
|
|
err = i40e_aq_set_link_restart_an(&pf->hw, true, NULL);
|
|
|
|
|
if (err)
|
|
|
|
|
dev_info(&pf->pdev->dev, "link restart failed, err %s aq_err %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
dev_info(&pf->pdev->dev, "link restart failed, err %d aq_err %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw,
|
|
|
|
|
pf->hw.aq.asq_last_status));
|
|
|
|
|
}
|
|
|
|
@ -16135,8 +16134,8 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
|
|
/* get the requested speeds from the fw */
|
|
|
|
|
err = i40e_aq_get_phy_capabilities(hw, false, false, &abilities, NULL);
|
|
|
|
|
if (err)
|
|
|
|
|
dev_dbg(&pf->pdev->dev, "get requested speeds ret = %s last_status = %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
dev_dbg(&pf->pdev->dev, "get requested speeds ret = %d last_status = %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
pf->hw.phy.link_info.requested_speeds = abilities.link_speed;
|
|
|
|
|
|
|
|
|
@ -16146,8 +16145,8 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
|
|
/* get the supported phy types from the fw */
|
|
|
|
|
err = i40e_aq_get_phy_capabilities(hw, false, true, &abilities, NULL);
|
|
|
|
|
if (err)
|
|
|
|
|
dev_dbg(&pf->pdev->dev, "get supported phy types ret = %s last_status = %s\n",
|
|
|
|
|
i40e_stat_str(&pf->hw, err),
|
|
|
|
|
dev_dbg(&pf->pdev->dev, "get supported phy types ret = %d last_status = %s\n",
|
|
|
|
|
err,
|
|
|
|
|
i40e_aq_str(&pf->hw, pf->hw.aq.asq_last_status));
|
|
|
|
|
|
|
|
|
|
/* make sure the MFS hasn't been set lower than the default */
|
|
|
|
|