diff options
author | Victor Raj <victor.raj@intel.com> | 2019-02-26 19:35:13 -0500 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2019-03-22 11:19:17 -0400 |
commit | e1ca65a3cceacc94dd9cde388016422ca2e15a54 (patch) | |
tree | 0f0b96c1940ffef75408903b599cdb4b32c2ec79 /drivers/net/ethernet/intel/ice/ice_sched.c | |
parent | eb86b0949183c5005ed33e57788d05d90bb72a5a (diff) |
ice: code cleanup in ice_sched.c
This patch does some clean up in the Tx scheduler code:
1. Adjust the stack variable usage
2. Modify the debug prints to display the FW error
3. Add additional debug prints while adding/removing VSIs
Signed-off-by: Victor Raj <victor.raj@intel.com>
Reviewed-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_sched.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_sched.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_sched.c b/drivers/net/ethernet/intel/ice/ice_sched.c index 086a4c7254c5..cf1142ec16ee 100644 --- a/drivers/net/ethernet/intel/ice/ice_sched.c +++ b/drivers/net/ethernet/intel/ice/ice_sched.c | |||
@@ -276,7 +276,8 @@ ice_sched_remove_elems(struct ice_hw *hw, struct ice_sched_node *parent, | |||
276 | status = ice_aq_delete_sched_elems(hw, 1, buf, buf_size, | 276 | status = ice_aq_delete_sched_elems(hw, 1, buf, buf_size, |
277 | &num_groups_removed, NULL); | 277 | &num_groups_removed, NULL); |
278 | if (status || num_groups_removed != 1) | 278 | if (status || num_groups_removed != 1) |
279 | ice_debug(hw, ICE_DBG_SCHED, "remove elements failed\n"); | 279 | ice_debug(hw, ICE_DBG_SCHED, "remove node failed FW error %d\n", |
280 | hw->adminq.sq_last_status); | ||
280 | 281 | ||
281 | devm_kfree(ice_hw_to_dev(hw), buf); | 282 | devm_kfree(ice_hw_to_dev(hw), buf); |
282 | return status; | 283 | return status; |
@@ -360,12 +361,8 @@ void ice_free_sched_node(struct ice_port_info *pi, struct ice_sched_node *node) | |||
360 | node->info.data.elem_type != ICE_AQC_ELEM_TYPE_ROOT_PORT && | 361 | node->info.data.elem_type != ICE_AQC_ELEM_TYPE_ROOT_PORT && |
361 | node->info.data.elem_type != ICE_AQC_ELEM_TYPE_LEAF) { | 362 | node->info.data.elem_type != ICE_AQC_ELEM_TYPE_LEAF) { |
362 | u32 teid = le32_to_cpu(node->info.node_teid); | 363 | u32 teid = le32_to_cpu(node->info.node_teid); |
363 | enum ice_status status; | ||
364 | 364 | ||
365 | status = ice_sched_remove_elems(hw, node->parent, 1, &teid); | 365 | ice_sched_remove_elems(hw, node->parent, 1, &teid); |
366 | if (status) | ||
367 | ice_debug(hw, ICE_DBG_SCHED, | ||
368 | "remove element failed %d\n", status); | ||
369 | } | 366 | } |
370 | parent = node->parent; | 367 | parent = node->parent; |
371 | /* root has no parent */ | 368 | /* root has no parent */ |
@@ -697,7 +694,8 @@ ice_sched_add_elems(struct ice_port_info *pi, struct ice_sched_node *tc_node, | |||
697 | status = ice_aq_add_sched_elems(hw, 1, buf, buf_size, | 694 | status = ice_aq_add_sched_elems(hw, 1, buf, buf_size, |
698 | &num_groups_added, NULL); | 695 | &num_groups_added, NULL); |
699 | if (status || num_groups_added != 1) { | 696 | if (status || num_groups_added != 1) { |
700 | ice_debug(hw, ICE_DBG_SCHED, "add elements failed\n"); | 697 | ice_debug(hw, ICE_DBG_SCHED, "add node failed FW Error %d\n", |
698 | hw->adminq.sq_last_status); | ||
701 | devm_kfree(ice_hw_to_dev(hw), buf); | 699 | devm_kfree(ice_hw_to_dev(hw), buf); |
702 | return ICE_ERR_CFG; | 700 | return ICE_ERR_CFG; |
703 | } | 701 | } |
@@ -1527,6 +1525,7 @@ ice_sched_cfg_vsi(struct ice_port_info *pi, u16 vsi_handle, u8 tc, u16 maxqs, | |||
1527 | enum ice_status status = 0; | 1525 | enum ice_status status = 0; |
1528 | struct ice_hw *hw = pi->hw; | 1526 | struct ice_hw *hw = pi->hw; |
1529 | 1527 | ||
1528 | ice_debug(pi->hw, ICE_DBG_SCHED, "add/config VSI %d\n", vsi_handle); | ||
1530 | tc_node = ice_sched_get_tc_node(pi, tc); | 1529 | tc_node = ice_sched_get_tc_node(pi, tc); |
1531 | if (!tc_node) | 1530 | if (!tc_node) |
1532 | return ICE_ERR_PARAM; | 1531 | return ICE_ERR_PARAM; |
@@ -1646,8 +1645,9 @@ ice_sched_rm_vsi_cfg(struct ice_port_info *pi, u16 vsi_handle, u8 owner) | |||
1646 | { | 1645 | { |
1647 | enum ice_status status = ICE_ERR_PARAM; | 1646 | enum ice_status status = ICE_ERR_PARAM; |
1648 | struct ice_vsi_ctx *vsi_ctx; | 1647 | struct ice_vsi_ctx *vsi_ctx; |
1649 | u8 i, j = 0; | 1648 | u8 i; |
1650 | 1649 | ||
1650 | ice_debug(pi->hw, ICE_DBG_SCHED, "removing VSI %d\n", vsi_handle); | ||
1651 | if (!ice_is_vsi_valid(pi->hw, vsi_handle)) | 1651 | if (!ice_is_vsi_valid(pi->hw, vsi_handle)) |
1652 | return status; | 1652 | return status; |
1653 | mutex_lock(&pi->sched_lock); | 1653 | mutex_lock(&pi->sched_lock); |
@@ -1657,6 +1657,7 @@ ice_sched_rm_vsi_cfg(struct ice_port_info *pi, u16 vsi_handle, u8 owner) | |||
1657 | 1657 | ||
1658 | for (i = 0; i < ICE_MAX_TRAFFIC_CLASS; i++) { | 1658 | for (i = 0; i < ICE_MAX_TRAFFIC_CLASS; i++) { |
1659 | struct ice_sched_node *vsi_node, *tc_node; | 1659 | struct ice_sched_node *vsi_node, *tc_node; |
1660 | u8 j = 0; | ||
1660 | 1661 | ||
1661 | tc_node = ice_sched_get_tc_node(pi, i); | 1662 | tc_node = ice_sched_get_tc_node(pi, i); |
1662 | if (!tc_node) | 1663 | if (!tc_node) |