aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/intel/ice/ice_sched.c
diff options
context:
space:
mode:
authorVictor Raj <victor.raj@intel.com>2019-02-26 19:35:13 -0500
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2019-03-22 11:19:17 -0400
commite1ca65a3cceacc94dd9cde388016422ca2e15a54 (patch)
tree0f0b96c1940ffef75408903b599cdb4b32c2ec79 /drivers/net/ethernet/intel/ice/ice_sched.c
parenteb86b0949183c5005ed33e57788d05d90bb72a5a (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.c17
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)