src/dpdk/drivers/net/ice/base/ice_sched.c
static enum ice_status
ice_sched_del_rl_profile(struct ice_hw *hw,
			 struct ice_aqc_rl_profile_info *rl_info)
{
	struct ice_aqc_rl_profile_elem *buf;
	u16 num_profiles_removed;
	enum ice_status status;
	u16 num_profiles = 1;

	if (rl_info->prof_id_ref != 0)
		return ICE_ERR_IN_USE;

	/* Safe to remove profile ID */
	buf = &rl_info->profile;
	status = ice_aq_remove_rl_profile(hw, num_profiles, buf, sizeof(*buf),
					  &num_profiles_removed, NULL);
	if (status || num_profiles_removed != num_profiles)
		return ICE_ERR_CFG;

	/* Delete stale entry now */
	LIST_DEL(&rl_info->list_entry);
	ice_free(hw, rl_info);
	return status;
}
/**
 * ice_sched_del_rl_profile - remove RL profile
 * @hw: pointer to the HW struct
 * @rl_info: rate limit profile information
 *
 * If the profile ID is not referenced anymore, it removes profile ID with
 * its associated parameters from HW DB,and locally. The caller needs to
 * hold scheduler lock.
 */
remove RL profile
@hw: pointer to the HW struct
@rl_info: rate limit profile information

If the profile ID is not referenced anymore, it removes profile ID with
its associated parameters from HW DB,and locally. The caller needs to
hold scheduler lock.
remove RL profile @hw : pointer to the HW struct @rl_info : rate limit profile information If the profile ID is not referenced anymore it removes profile ID with its associated parameters from HW DB and locally . The caller needs to hold scheduler lock .
static enum ice_status
ice_sched_del_rl_profile(struct ice_hw *hw,
			 struct ice_aqc_rl_profile_info *rl_info)
{
	struct ice_aqc_rl_profile_elem *buf;
	u16 num_profiles_removed;
	enum ice_status status;
	u16 num_profiles = 1;
	if (rl_info->prof_id_ref != 0)
		return ICE_ERR_IN_USE;
	buf = &rl_info->profile;
	status = ice_aq_remove_rl_profile(hw, num_profiles, buf, sizeof(*buf),
					  &num_profiles_removed, NULL);
	if (status || num_profiles_removed != num_profiles)
		return ICE_ERR_CFG;
	LIST_DEL(&rl_info->list_entry);
	ice_free(hw, rl_info);
	return status;
}
static enum ice_status ice_sched_del_rl_profile ( struct ice_hw * hw , struct ice_aqc_rl_profile_info * rl_info ) { struct ice_aqc_rl_profile_elem * buf ; u16 num_profiles_removed ; enum ice_status status ; u16 num_profiles = 1 ; if ( rl_info -> prof_id_ref != 0 ) return ICE_ERR_IN_USE ; buf = & rl_info -> profile ; status = ice_aq_remove_rl_profile ( hw , num_profiles , buf , sizeof ( * buf ) , & num_profiles_removed , NULL ) ; if ( status || num_profiles_removed != num_profiles ) return ICE_ERR_CFG ; LIST_DEL ( & rl_info -> list_entry ) ; ice_free ( hw , rl_info ) ; return status ; }
ice_sched_del_rl_profile - remove RL profile
 @hw: pointer to the HW struct
 @rl_info: rate limit profile information
ice_sched_del_rl_profile - remove RL profile @hw : pointer to the HW struct @rl_info : rate limit profile information
/* Safe to remove profile ID */ /* Delete stale entry now */