git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net/ice/base: refactor VSI node scheduler
[dpdk.git]
/
drivers
/
net
/
ice
/
base
/
ice_sched.c
diff --git
a/drivers/net/ice/base/ice_sched.c
b/drivers/net/ice/base/ice_sched.c
index
fa3158a
..
0f41531
100644
(file)
--- a/
drivers/net/ice/base/ice_sched.c
+++ b/
drivers/net/ice/base/ice_sched.c
@@
-1451,7
+1451,7
@@
lan_q_exit:
/**
* ice_sched_get_vsi_node - Get a VSI node based on VSI ID
/**
* ice_sched_get_vsi_node - Get a VSI node based on VSI ID
- * @
hw: pointer to the HW struct
+ * @
pi: pointer to the port information structure
* @tc_node: pointer to the TC node
* @vsi_handle: software VSI handle
*
* @tc_node: pointer to the TC node
* @vsi_handle: software VSI handle
*
@@
-1459,14
+1459,14
@@
lan_q_exit:
* TC branch
*/
struct ice_sched_node *
* TC branch
*/
struct ice_sched_node *
-ice_sched_get_vsi_node(struct ice_
hw *hw
, struct ice_sched_node *tc_node,
+ice_sched_get_vsi_node(struct ice_
port_info *pi
, struct ice_sched_node *tc_node,
u16 vsi_handle)
{
struct ice_sched_node *node;
u8 vsi_layer;
u16 vsi_handle)
{
struct ice_sched_node *node;
u8 vsi_layer;
- vsi_layer = ice_sched_get_vsi_layer(hw);
- node = ice_sched_get_first_node(
hw->port_info
, tc_node, vsi_layer);
+ vsi_layer = ice_sched_get_vsi_layer(
pi->
hw);
+ node = ice_sched_get_first_node(
pi
, tc_node, vsi_layer);
/* Check whether it already exists */
while (node) {
/* Check whether it already exists */
while (node) {
@@
-1587,7
+1587,7
@@
ice_sched_add_vsi_child_nodes(struct ice_port_info *pi, u16 vsi_handle,
qgl = ice_sched_get_qgrp_layer(hw);
vsil = ice_sched_get_vsi_layer(hw);
qgl = ice_sched_get_qgrp_layer(hw);
vsil = ice_sched_get_vsi_layer(hw);
- parent = ice_sched_get_vsi_node(
hw
, tc_node, vsi_handle);
+ parent = ice_sched_get_vsi_node(
pi
, tc_node, vsi_handle);
for (i = vsil + 1; i <= qgl; i++) {
if (!parent)
return ICE_ERR_CFG;
for (i = vsil + 1; i <= qgl; i++) {
if (!parent)
return ICE_ERR_CFG;
@@
-1620,7
+1620,7
@@
ice_sched_add_vsi_child_nodes(struct ice_port_info *pi, u16 vsi_handle,
/**
* ice_sched_calc_vsi_support_nodes - calculate number of VSI support nodes
/**
* ice_sched_calc_vsi_support_nodes - calculate number of VSI support nodes
- * @
hw: pointer to the HW struct
+ * @
pi: pointer to the port info structure
* @tc_node: pointer to TC node
* @num_nodes: pointer to num nodes array
*
* @tc_node: pointer to TC node
* @num_nodes: pointer to num nodes array
*
@@
-1629,15
+1629,15
@@
ice_sched_add_vsi_child_nodes(struct ice_port_info *pi, u16 vsi_handle,
* layers
*/
static void
* layers
*/
static void
-ice_sched_calc_vsi_support_nodes(struct ice_
hw *hw
,
+ice_sched_calc_vsi_support_nodes(struct ice_
port_info *pi
,
struct ice_sched_node *tc_node, u16 *num_nodes)
{
struct ice_sched_node *node;
u8 vsil;
int i;
struct ice_sched_node *tc_node, u16 *num_nodes)
{
struct ice_sched_node *node;
u8 vsil;
int i;
- vsil = ice_sched_get_vsi_layer(hw);
- for (i = vsil; i >= hw->sw_entry_point_layer; i--)
+ vsil = ice_sched_get_vsi_layer(
pi->
hw);
+ for (i = vsil; i >=
pi->
hw->sw_entry_point_layer; i--)
/* Add intermediate nodes if TC has no children and
* need at least one node for VSI
*/
/* Add intermediate nodes if TC has no children and
* need at least one node for VSI
*/
@@
-1647,11
+1647,11
@@
ice_sched_calc_vsi_support_nodes(struct ice_hw *hw,
/* If intermediate nodes are reached max children
* then add a new one.
*/
/* If intermediate nodes are reached max children
* then add a new one.
*/
- node = ice_sched_get_first_node(hw->port_info, tc_node,
- (u8)i);
+ node = ice_sched_get_first_node(pi, tc_node, (u8)i);
/* scan all the siblings */
while (node) {
/* scan all the siblings */
while (node) {
- if (node->num_children < hw->max_children[i])
+ if (node->num_children <
+ pi->hw->max_children[i])
break;
node = node->sibling;
}
break;
node = node->sibling;
}
@@
-1731,14
+1731,13
@@
ice_sched_add_vsi_to_topo(struct ice_port_info *pi, u16 vsi_handle, u8 tc)
{
u16 num_nodes[ICE_AQC_TOPO_MAX_LEVEL_NUM] = { 0 };
struct ice_sched_node *tc_node;
{
u16 num_nodes[ICE_AQC_TOPO_MAX_LEVEL_NUM] = { 0 };
struct ice_sched_node *tc_node;
- struct ice_hw *hw = pi->hw;
tc_node = ice_sched_get_tc_node(pi, tc);
if (!tc_node)
return ICE_ERR_PARAM;
/* calculate number of supported nodes needed for this VSI */
tc_node = ice_sched_get_tc_node(pi, tc);
if (!tc_node)
return ICE_ERR_PARAM;
/* calculate number of supported nodes needed for this VSI */
- ice_sched_calc_vsi_support_nodes(
hw
, tc_node, num_nodes);
+ ice_sched_calc_vsi_support_nodes(
pi
, tc_node, num_nodes);
/* add VSI supported nodes to TC subtree */
return ice_sched_add_vsi_support_nodes(pi, vsi_handle, tc_node,
/* add VSI supported nodes to TC subtree */
return ice_sched_add_vsi_support_nodes(pi, vsi_handle, tc_node,
@@
-1771,7
+1770,7
@@
ice_sched_update_vsi_child_nodes(struct ice_port_info *pi, u16 vsi_handle,
if (!tc_node)
return ICE_ERR_CFG;
if (!tc_node)
return ICE_ERR_CFG;
- vsi_node = ice_sched_get_vsi_node(
hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(
pi
, tc_node, vsi_handle);
if (!vsi_node)
return ICE_ERR_CFG;
if (!vsi_node)
return ICE_ERR_CFG;
@@
-1834,7
+1833,7
@@
ice_sched_cfg_vsi(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u16 maxqs,
vsi_ctx = ice_get_vsi_ctx(hw, vsi_handle);
if (!vsi_ctx)
return ICE_ERR_PARAM;
vsi_ctx = ice_get_vsi_ctx(hw, vsi_handle);
if (!vsi_ctx)
return ICE_ERR_PARAM;
- vsi_node = ice_sched_get_vsi_node(
hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(
pi
, tc_node, vsi_handle);
/* suspend the VSI if TC is not enabled */
if (!enable) {
/* suspend the VSI if TC is not enabled */
if (!enable) {
@@
-1855,7
+1854,7
@@
ice_sched_cfg_vsi(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u16 maxqs,
if (status)
return status;
if (status)
return status;
- vsi_node = ice_sched_get_vsi_node(
hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(
pi
, tc_node, vsi_handle);
if (!vsi_node)
return ICE_ERR_CFG;
if (!vsi_node)
return ICE_ERR_CFG;
@@
-1966,7
+1965,7
@@
ice_sched_rm_vsi_cfg(struct ice_port_info *pi, u16 vsi_handle, u8 owner)
if (!tc_node)
continue;
if (!tc_node)
continue;
- vsi_node = ice_sched_get_vsi_node(pi
->hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(pi, tc_node, vsi_handle);
if (!vsi_node)
continue;
if (!vsi_node)
continue;
@@
-2256,7
+2255,7
@@
ice_sched_move_vsi_to_agg(struct ice_port_info *pi, u16 vsi_handle, u32 agg_id,
if (!agg_node)
return ICE_ERR_DOES_NOT_EXIST;
if (!agg_node)
return ICE_ERR_DOES_NOT_EXIST;
- vsi_node = ice_sched_get_vsi_node(pi
->hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(pi, tc_node, vsi_handle);
if (!vsi_node)
return ICE_ERR_DOES_NOT_EXIST;
if (!vsi_node)
return ICE_ERR_DOES_NOT_EXIST;
@@
-3537,7
+3536,7
@@
ice_cfg_agg_vsi_priority_per_tc(struct ice_port_info *pi, u32 agg_id,
if (!vsi_handle_valid)
goto exit_agg_priority_per_tc;
if (!vsi_handle_valid)
goto exit_agg_priority_per_tc;
- vsi_node = ice_sched_get_vsi_node(
hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(
pi
, tc_node, vsi_handle);
if (!vsi_node)
goto exit_agg_priority_per_tc;
if (!vsi_node)
goto exit_agg_priority_per_tc;
@@
-3593,7
+3592,7
@@
ice_cfg_vsi_bw_alloc(struct ice_port_info *pi, u16 vsi_handle, u8 ena_tcmap,
if (!tc_node)
continue;
if (!tc_node)
continue;
- vsi_node = ice_sched_get_vsi_node(pi
->hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(pi, tc_node, vsi_handle);
if (!vsi_node)
continue;
if (!vsi_node)
continue;
@@
-4805,7
+4804,7
@@
ice_sched_validate_vsi_srl_node(struct ice_port_info *pi, u16 vsi_handle)
if (!tc_node)
continue;
if (!tc_node)
continue;
- vsi_node = ice_sched_get_vsi_node(pi
->hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(pi, tc_node, vsi_handle);
if (!vsi_node)
continue;
if (!vsi_node)
continue;
@@
-4864,7
+4863,7
@@
ice_sched_set_vsi_bw_shared_lmt(struct ice_port_info *pi, u16 vsi_handle,
if (!tc_node)
continue;
if (!tc_node)
continue;
- vsi_node = ice_sched_get_vsi_node(pi
->hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(pi, tc_node, vsi_handle);
if (!vsi_node)
continue;
if (!vsi_node)
continue;
@@
-5368,7
+5367,7
@@
ice_sched_replay_vsi_bw(struct ice_hw *hw, u16 vsi_handle,
tc_node = ice_sched_get_tc_node(pi, tc);
if (!tc_node)
continue;
tc_node = ice_sched_get_tc_node(pi, tc);
if (!tc_node)
continue;
- vsi_node = ice_sched_get_vsi_node(
hw
, tc_node, vsi_handle);
+ vsi_node = ice_sched_get_vsi_node(
pi
, tc_node, vsi_handle);
if (!vsi_node)
continue;
bw_t_info = &vsi_ctx->sched.bw_t_info[tc];
if (!vsi_node)
continue;
bw_t_info = &vsi_ctx->sched.bw_t_info[tc];