net/ice/base: change profile priority for RSS reply
1. Add call to replay RSS configurations 2. Add RSS configurations to end of list and not the head to avoid inversion on replay. Signed-off-by: Vignesh Sridhar <vignesh.sridhar@intel.com> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Reviewed-by: Qiming Yang <qiming.yang@intel.com> Reviewed-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
This commit is contained in:
parent
bd984f155f
commit
bf36ae6b85
@ -3854,7 +3854,10 @@ enum ice_status ice_replay_vsi(struct ice_hw *hw, u16 vsi_handle)
|
|||||||
if (status)
|
if (status)
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
/* Replay per VSI all RSS configurations */
|
||||||
|
status = ice_replay_rss_cfg(hw, vsi_handle);
|
||||||
|
if (status)
|
||||||
|
return status;
|
||||||
/* Replay per VSI all filters */
|
/* Replay per VSI all filters */
|
||||||
status = ice_replay_vsi_all_fltr(hw, vsi_handle);
|
status = ice_replay_vsi_all_fltr(hw, vsi_handle);
|
||||||
if (!status)
|
if (!status)
|
||||||
|
@ -1672,7 +1672,8 @@ ice_add_rss_vsi_ctx(struct ice_hw *hw, u16 vsi_handle,
|
|||||||
|
|
||||||
rss_cfg->hashed_flds = prof->segs[prof->segs_cnt - 1].match;
|
rss_cfg->hashed_flds = prof->segs[prof->segs_cnt - 1].match;
|
||||||
rss_cfg->packet_hdr = prof->segs[prof->segs_cnt - 1].hdrs;
|
rss_cfg->packet_hdr = prof->segs[prof->segs_cnt - 1].hdrs;
|
||||||
LIST_ADD(&rss_cfg->l_entry, &hw->vsi_ctx[vsi_handle]->rss_list_head);
|
LIST_ADD_TAIL(&rss_cfg->l_entry,
|
||||||
|
&hw->vsi_ctx[vsi_handle]->rss_list_head);
|
||||||
|
|
||||||
return ICE_SUCCESS;
|
return ICE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@ -462,6 +462,22 @@ LIST_HEAD(ice_list_head, ice_list_entry);
|
|||||||
#define LIST_ADD(entry, list_head) LIST_INSERT_HEAD(list_head, entry, next)
|
#define LIST_ADD(entry, list_head) LIST_INSERT_HEAD(list_head, entry, next)
|
||||||
#define LIST_ADD_AFTER(entry, list_entry) \
|
#define LIST_ADD_AFTER(entry, list_entry) \
|
||||||
LIST_INSERT_AFTER(list_entry, entry, next)
|
LIST_INSERT_AFTER(list_entry, entry, next)
|
||||||
|
|
||||||
|
static inline void list_add_tail(struct ice_list_entry *entry,
|
||||||
|
struct ice_list_head *head)
|
||||||
|
{
|
||||||
|
struct ice_list_entry *tail = head->lh_first;
|
||||||
|
|
||||||
|
if (tail == NULL) {
|
||||||
|
LIST_INSERT_HEAD(head, entry, next);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
while (tail->next.le_next != NULL)
|
||||||
|
tail = tail->next.le_next;
|
||||||
|
LIST_INSERT_AFTER(tail, entry, next);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LIST_ADD_TAIL(entry, head) list_add_tail(entry, head)
|
||||||
#define LIST_FOR_EACH_ENTRY(pos, head, type, member) \
|
#define LIST_FOR_EACH_ENTRY(pos, head, type, member) \
|
||||||
for ((pos) = (head)->lh_first ? \
|
for ((pos) = (head)->lh_first ? \
|
||||||
container_of((head)->lh_first, struct type, member) : \
|
container_of((head)->lh_first, struct type, member) : \
|
||||||
|
Loading…
Reference in New Issue
Block a user