src/dpdk/drivers/net/ice/base/ice_sched.c
static enum ice_status
ice_move_all_vsi_to_dflt_agg(struct ice_port_info *pi,
			     struct ice_sched_agg_info *agg_info, u8 tc,
			     bool rm_vsi_info)
{
	struct ice_sched_agg_vsi_info *agg_vsi_info;
	struct ice_sched_agg_vsi_info *tmp;
	enum ice_status status = ICE_SUCCESS;

	LIST_FOR_EACH_ENTRY_SAFE(agg_vsi_info, tmp, &agg_info->agg_vsi_list,
				 ice_sched_agg_vsi_info, list_entry) {
		u16 vsi_handle = agg_vsi_info->vsi_handle;

		/* Move VSI to default aggregator */
		if (!ice_is_tc_ena(agg_vsi_info->tc_bitmap[0], tc))
			continue;

		status = ice_sched_move_vsi_to_agg(pi, vsi_handle,
						   ICE_DFLT_AGG_ID, tc);
		if (status)
			break;

		ice_clear_bit(tc, agg_vsi_info->tc_bitmap);
		if (rm_vsi_info && !agg_vsi_info->tc_bitmap[0]) {
			LIST_DEL(&agg_vsi_info->list_entry);
			ice_free(pi->hw, agg_vsi_info);
		}
	}

	return status;
}
/**
 * ice_move_all_vsi_to_dflt_agg - move all VSI(s) to default aggregator
 * @pi: port information structure
 * @agg_info: aggregator info
 * @tc: traffic class number
 * @rm_vsi_info: true or false
 *
 * This function move all the VSI(s) to the default aggregator and delete
 * aggregator VSI info based on passed in boolean parameter rm_vsi_info. The
 * caller holds the scheduler lock.
 */
move all VSI(s) to default aggregator
@pi: port information structure
@agg_info: aggregator info
@tc: traffic class number
@rm_vsi_info: true or false

This function move all the VSI(s) to the default aggregator and delete
aggregator VSI info based on passed in boolean parameter rm_vsi_info. The
caller holds the scheduler lock.
move all VSI ( s ) to default aggregator @pi : port information structure @agg_info : aggregator info @tc : traffic class number @rm_vsi_info : true or false This function move all the VSI ( s ) to the default aggregator and delete aggregator VSI info based on passed in boolean parameter rm_vsi_info . The caller holds the scheduler lock .
static enum ice_status
ice_move_all_vsi_to_dflt_agg(struct ice_port_info *pi,
			     struct ice_sched_agg_info *agg_info, u8 tc,
			     bool rm_vsi_info)
{
	struct ice_sched_agg_vsi_info *agg_vsi_info;
	struct ice_sched_agg_vsi_info *tmp;
	enum ice_status status = ICE_SUCCESS;
	LIST_FOR_EACH_ENTRY_SAFE(agg_vsi_info, tmp, &agg_info->agg_vsi_list,
				 ice_sched_agg_vsi_info, list_entry) {
		u16 vsi_handle = agg_vsi_info->vsi_handle;
		if (!ice_is_tc_ena(agg_vsi_info->tc_bitmap[0], tc))
			continue;
		status = ice_sched_move_vsi_to_agg(pi, vsi_handle,
						   ICE_DFLT_AGG_ID, tc);
		if (status)
			break;
		ice_clear_bit(tc, agg_vsi_info->tc_bitmap);
		if (rm_vsi_info && !agg_vsi_info->tc_bitmap[0]) {
			LIST_DEL(&agg_vsi_info->list_entry);
			ice_free(pi->hw, agg_vsi_info);
		}
	}
	return status;
}
static enum ice_status ice_move_all_vsi_to_dflt_agg ( struct ice_port_info * pi , struct ice_sched_agg_info * agg_info , u8 tc , bool rm_vsi_info ) { struct ice_sched_agg_vsi_info * agg_vsi_info ; struct ice_sched_agg_vsi_info * tmp ; enum ice_status status = ICE_SUCCESS ; LIST_FOR_EACH_ENTRY_SAFE ( agg_vsi_info , tmp , & agg_info -> agg_vsi_list , ice_sched_agg_vsi_info , list_entry ) { u16 vsi_handle = agg_vsi_info -> vsi_handle ; if ( ! ice_is_tc_ena ( agg_vsi_info -> tc_bitmap [ 0 ] , tc ) ) continue ; status = ice_sched_move_vsi_to_agg ( pi , vsi_handle , ICE_DFLT_AGG_ID , tc ) ; if ( status ) break ; ice_clear_bit ( tc , agg_vsi_info -> tc_bitmap ) ; if ( rm_vsi_info && ! agg_vsi_info -> tc_bitmap [ 0 ] ) { LIST_DEL ( & agg_vsi_info -> list_entry ) ; ice_free ( pi -> hw , agg_vsi_info ) ; } } return status ; }
ice_move_all_vsi_to_dflt_agg - move all VSI(s) to default aggregator
 @pi: port information structure
 @agg_info: aggregator info
 @tc: traffic class number
 @rm_vsi_info: true or false
ice_move_all_vsi_to_dflt_agg - move all VSI ( s ) to default aggregator @pi : port information structure @agg_info : aggregator info @tc : traffic class number @rm_vsi_info : true or false
/* Move VSI to default aggregator */