src/dpdk/drivers/net/ice/base/ice_sched.c
static enum ice_status
ice_sched_replay_vsi_bw(struct ice_hw *hw, u16 vsi_handle,
			ice_bitmap_t *tc_bitmap)
{
	struct ice_sched_node *vsi_node, *tc_node;
	struct ice_port_info *pi = hw->port_info;
	struct ice_bw_type_info *bw_t_info;
	struct ice_vsi_ctx *vsi_ctx;
	enum ice_status status = ICE_SUCCESS;
	u8 tc;

	vsi_ctx = ice_get_vsi_ctx(pi->hw, vsi_handle);
	if (!vsi_ctx)
		return ICE_ERR_PARAM;
	ice_for_each_traffic_class(tc) {
		if (!ice_is_tc_ena(*tc_bitmap, tc))
			continue;
		tc_node = ice_sched_get_tc_node(pi, tc);
		if (!tc_node)
			continue;
		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];
		status = ice_sched_replay_node_bw(hw, vsi_node, bw_t_info);
		if (status)
			break;
	}
	return status;
}
/**
 * ice_sched_replay_vsi_bw - replay VSI type node(s) BW
 * @hw: pointer to the HW struct
 * @vsi_handle: software VSI handle
 * @tc_bitmap: 8 bits TC bitmap
 *
 * This function replays VSI type nodes bandwidth. This function needs to be
 * called with scheduler lock held.
 */
replay VSI type node(s) BW
@hw: pointer to the HW struct
@vsi_handle: software VSI handle
@tc_bitmap: 8 bits TC bitmap

This function replays VSI type nodes bandwidth. This function needs to be
called with scheduler lock held.
replay VSI type node ( s ) BW @hw : pointer to the HW struct @vsi_handle : software VSI handle @tc_bitmap : 8 bits TC bitmap This function replays VSI type nodes bandwidth . This function needs to be called with scheduler lock held .
static enum ice_status
ice_sched_replay_vsi_bw(struct ice_hw *hw, u16 vsi_handle,
			ice_bitmap_t *tc_bitmap)
{
	struct ice_sched_node *vsi_node, *tc_node;
	struct ice_port_info *pi = hw->port_info;
	struct ice_bw_type_info *bw_t_info;
	struct ice_vsi_ctx *vsi_ctx;
	enum ice_status status = ICE_SUCCESS;
	u8 tc;
	vsi_ctx = ice_get_vsi_ctx(pi->hw, vsi_handle);
	if (!vsi_ctx)
		return ICE_ERR_PARAM;
	ice_for_each_traffic_class(tc) {
		if (!ice_is_tc_ena(*tc_bitmap, tc))
			continue;
		tc_node = ice_sched_get_tc_node(pi, tc);
		if (!tc_node)
			continue;
		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];
		status = ice_sched_replay_node_bw(hw, vsi_node, bw_t_info);
		if (status)
			break;
	}
	return status;
}
static enum ice_status ice_sched_replay_vsi_bw ( struct ice_hw * hw , u16 vsi_handle , ice_bitmap_t * tc_bitmap ) { struct ice_sched_node * vsi_node , * tc_node ; struct ice_port_info * pi = hw -> port_info ; struct ice_bw_type_info * bw_t_info ; struct ice_vsi_ctx * vsi_ctx ; enum ice_status status = ICE_SUCCESS ; u8 tc ; vsi_ctx = ice_get_vsi_ctx ( pi -> hw , vsi_handle ) ; if ( ! vsi_ctx ) return ICE_ERR_PARAM ; ice_for_each_traffic_class ( tc ) { if ( ! ice_is_tc_ena ( * tc_bitmap , tc ) ) continue ; tc_node = ice_sched_get_tc_node ( pi , tc ) ; if ( ! tc_node ) continue ; 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 ] ; status = ice_sched_replay_node_bw ( hw , vsi_node , bw_t_info ) ; if ( status ) break ; } return status ; }
ice_sched_replay_vsi_bw - replay VSI type node(s) BW
 @hw: pointer to the HW struct
 @vsi_handle: software VSI handle
 @tc_bitmap: 8 bits TC bitmap
ice_sched_replay_vsi_bw - replay VSI type node ( s ) BW @hw : pointer to the HW struct @vsi_handle : software VSI handle @tc_bitmap : 8 bits TC bitmap