Commit 3e25a8f3 authored by Mitch Williams's avatar Mitch Williams Committed by Jeff Kirsher

i40e: add hw struct local variable

This function uses the i40e_hw struct all over the place, so why doesn't
it keep a pointer to the struct? Add this pointer as a local variable
and use it consistently throughout the function.

Change-ID: I10eb688fe40909433fcb8ac7ac891cef67445d72
Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent fb70faba
...@@ -1840,6 +1840,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -1840,6 +1840,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
{ {
struct list_head tmp_del_list, tmp_add_list; struct list_head tmp_del_list, tmp_add_list;
struct i40e_mac_filter *f, *ftmp, *fclone; struct i40e_mac_filter *f, *ftmp, *fclone;
struct i40e_hw *hw = &vsi->back->hw;
bool promisc_forced_on = false; bool promisc_forced_on = false;
bool add_happened = false; bool add_happened = false;
int filter_list_len = 0; int filter_list_len = 0;
...@@ -1920,7 +1921,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -1920,7 +1921,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
if (!list_empty(&tmp_del_list)) { if (!list_empty(&tmp_del_list)) {
int del_list_size; int del_list_size;
filter_list_len = pf->hw.aq.asq_buf_size / filter_list_len = hw->aq.asq_buf_size /
sizeof(struct i40e_aqc_remove_macvlan_element_data); sizeof(struct i40e_aqc_remove_macvlan_element_data);
del_list_size = filter_list_len * del_list_size = filter_list_len *
sizeof(struct i40e_aqc_remove_macvlan_element_data); sizeof(struct i40e_aqc_remove_macvlan_element_data);
...@@ -1952,12 +1953,11 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -1952,12 +1953,11 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
/* flush a full buffer */ /* flush a full buffer */
if (num_del == filter_list_len) { if (num_del == filter_list_len) {
aq_ret = i40e_aq_remove_macvlan(&pf->hw, aq_ret =
vsi->seid, i40e_aq_remove_macvlan(hw, vsi->seid,
del_list, del_list,
num_del, num_del, NULL);
NULL); aq_err = hw->aq.asq_last_status;
aq_err = pf->hw.aq.asq_last_status;
num_del = 0; num_del = 0;
memset(del_list, 0, del_list_size); memset(del_list, 0, del_list_size);
...@@ -1965,8 +1965,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -1965,8 +1965,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
retval = -EIO; retval = -EIO;
dev_err(&pf->pdev->dev, dev_err(&pf->pdev->dev,
"ignoring delete macvlan error, err %s, aq_err %s while flushing a full buffer\n", "ignoring delete macvlan error, err %s, aq_err %s while flushing a full buffer\n",
i40e_stat_str(&pf->hw, aq_ret),
i40e_aq_str(&pf->hw, aq_err)); i40e_stat_str(hw, aq_ret),
i40e_aq_str(hw, aq_err));
} }
} }
/* Release memory for MAC filter entries which were /* Release memory for MAC filter entries which were
...@@ -1977,17 +1978,16 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -1977,17 +1978,16 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
} }
if (num_del) { if (num_del) {
aq_ret = i40e_aq_remove_macvlan(&pf->hw, vsi->seid, aq_ret = i40e_aq_remove_macvlan(hw, vsi->seid, del_list,
del_list, num_del, num_del, NULL);
NULL); aq_err = hw->aq.asq_last_status;
aq_err = pf->hw.aq.asq_last_status;
num_del = 0; num_del = 0;
if (aq_ret && aq_err != I40E_AQ_RC_ENOENT) if (aq_ret && aq_err != I40E_AQ_RC_ENOENT)
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"ignoring delete macvlan error, err %s aq_err %s\n", "ignoring delete macvlan error, err %s aq_err %s\n",
i40e_stat_str(&pf->hw, aq_ret), i40e_stat_str(hw, aq_ret),
i40e_aq_str(&pf->hw, aq_err)); i40e_aq_str(hw, aq_err));
} }
kfree(del_list); kfree(del_list);
...@@ -1998,7 +1998,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -1998,7 +1998,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
int add_list_size; int add_list_size;
/* do all the adds now */ /* do all the adds now */
filter_list_len = pf->hw.aq.asq_buf_size / filter_list_len = hw->aq.asq_buf_size /
sizeof(struct i40e_aqc_add_macvlan_element_data), sizeof(struct i40e_aqc_add_macvlan_element_data),
add_list_size = filter_list_len * add_list_size = filter_list_len *
sizeof(struct i40e_aqc_add_macvlan_element_data); sizeof(struct i40e_aqc_add_macvlan_element_data);
...@@ -2033,10 +2033,10 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -2033,10 +2033,10 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
/* flush a full buffer */ /* flush a full buffer */
if (num_add == filter_list_len) { if (num_add == filter_list_len) {
aq_ret = i40e_aq_add_macvlan(&pf->hw, vsi->seid, aq_ret = i40e_aq_add_macvlan(hw, vsi->seid,
add_list, num_add, add_list, num_add,
NULL); NULL);
aq_err = pf->hw.aq.asq_last_status; aq_err = hw->aq.asq_last_status;
num_add = 0; num_add = 0;
if (aq_ret) if (aq_ret)
...@@ -2051,9 +2051,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -2051,9 +2051,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
} }
if (num_add) { if (num_add) {
aq_ret = i40e_aq_add_macvlan(&pf->hw, vsi->seid, aq_ret = i40e_aq_add_macvlan(hw, vsi->seid,
add_list, num_add, NULL); add_list, num_add, NULL);
aq_err = pf->hw.aq.asq_last_status; aq_err = hw->aq.asq_last_status;
num_add = 0; num_add = 0;
} }
kfree(add_list); kfree(add_list);
...@@ -2063,9 +2063,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -2063,9 +2063,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
retval = i40e_aq_rc_to_posix(aq_ret, aq_err); retval = i40e_aq_rc_to_posix(aq_ret, aq_err);
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"add filter failed, err %s aq_err %s\n", "add filter failed, err %s aq_err %s\n",
i40e_stat_str(&pf->hw, aq_ret), i40e_stat_str(hw, aq_ret),
i40e_aq_str(&pf->hw, aq_err)); i40e_aq_str(hw, aq_err));
if ((pf->hw.aq.asq_last_status == I40E_AQ_RC_ENOSPC) && if ((hw->aq.asq_last_status == I40E_AQ_RC_ENOSPC) &&
!test_bit(__I40E_FILTER_OVERFLOW_PROMISC, !test_bit(__I40E_FILTER_OVERFLOW_PROMISC,
&vsi->state)) { &vsi->state)) {
promisc_forced_on = true; promisc_forced_on = true;
...@@ -2093,12 +2093,11 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -2093,12 +2093,11 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
NULL); NULL);
if (aq_ret) { if (aq_ret) {
retval = i40e_aq_rc_to_posix(aq_ret, retval = i40e_aq_rc_to_posix(aq_ret,
pf->hw.aq.asq_last_status); hw->aq.asq_last_status);
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"set multi promisc failed, err %s aq_err %s\n", "set multi promisc failed, err %s aq_err %s\n",
i40e_stat_str(&pf->hw, aq_ret), i40e_stat_str(hw, aq_ret),
i40e_aq_str(&pf->hw, i40e_aq_str(hw, hw->aq.asq_last_status));
pf->hw.aq.asq_last_status));
} }
} }
if ((changed_flags & IFF_PROMISC) || promisc_forced_on) { if ((changed_flags & IFF_PROMISC) || promisc_forced_on) {
...@@ -2121,29 +2120,33 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -2121,29 +2120,33 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
} }
} else { } else {
aq_ret = i40e_aq_set_vsi_unicast_promiscuous( aq_ret = i40e_aq_set_vsi_unicast_promiscuous(
&vsi->back->hw, hw,
vsi->seid, vsi->seid,
cur_promisc, NULL, cur_promisc, NULL,
true); true);
if (aq_ret) { if (aq_ret) {
retval = retval =
i40e_aq_rc_to_posix(aq_ret, i40e_aq_rc_to_posix(aq_ret,
pf->hw.aq.asq_last_status); hw->aq.asq_last_status);
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"set unicast promisc failed, err %d, aq_err %d\n", "set unicast promisc failed, err %s, aq_err %s\n",
aq_ret, pf->hw.aq.asq_last_status); i40e_stat_str(hw, aq_ret),
i40e_aq_str(hw,
hw->aq.asq_last_status));
} }
aq_ret = i40e_aq_set_vsi_multicast_promiscuous( aq_ret = i40e_aq_set_vsi_multicast_promiscuous(
&vsi->back->hw, hw,
vsi->seid, vsi->seid,
cur_promisc, NULL); cur_promisc, NULL);
if (aq_ret) { if (aq_ret) {
retval = retval =
i40e_aq_rc_to_posix(aq_ret, i40e_aq_rc_to_posix(aq_ret,
pf->hw.aq.asq_last_status); hw->aq.asq_last_status);
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"set multicast promisc failed, err %d, aq_err %d\n", "set multicast promisc failed, err %s, aq_err %s\n",
aq_ret, pf->hw.aq.asq_last_status); i40e_stat_str(hw, aq_ret),
i40e_aq_str(hw,
hw->aq.asq_last_status));
} }
} }
aq_ret = i40e_aq_set_vsi_broadcast(&vsi->back->hw, aq_ret = i40e_aq_set_vsi_broadcast(&vsi->back->hw,
...@@ -2154,9 +2157,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) ...@@ -2154,9 +2157,9 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)
pf->hw.aq.asq_last_status); pf->hw.aq.asq_last_status);
dev_info(&pf->pdev->dev, dev_info(&pf->pdev->dev,
"set brdcast promisc failed, err %s, aq_err %s\n", "set brdcast promisc failed, err %s, aq_err %s\n",
i40e_stat_str(&pf->hw, aq_ret), i40e_stat_str(hw, aq_ret),
i40e_aq_str(&pf->hw, i40e_aq_str(hw,
pf->hw.aq.asq_last_status)); hw->aq.asq_last_status));
} }
} }
out: out:
......
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