Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ice/ice_sched.h
/* SPDX-License-Identifier: BSD-3-Clause */ | /* SPDX-License-Identifier: BSD-3-Clause */ | ||||
/* Copyright (c) 2020, Intel Corporation | /* Copyright (c) 2021, Intel Corporation | ||||
* All rights reserved. | * All rights reserved. | ||||
* | * | ||||
* Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
* modification, are permitted provided that the following conditions are met: | * modification, are permitted provided that the following conditions are met: | ||||
* | * | ||||
* 1. Redistributions of source code must retain the above copyright notice, | * 1. Redistributions of source code must retain the above copyright notice, | ||||
* this list of conditions and the following disclaimer. | * this list of conditions and the following disclaimer. | ||||
* | * | ||||
▲ Show 20 Lines • Show All 165 Lines • ▼ Show 20 Lines | ice_cfg_vsi_bw_dflt_lmt_per_tc(struct ice_port_info *pi, u16 vsi_handle, u8 tc, | ||||
enum ice_rl_type rl_type); | enum ice_rl_type rl_type); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_agg_bw_lmt_per_tc(struct ice_port_info *pi, u32 agg_id, u8 tc, | ice_cfg_agg_bw_lmt_per_tc(struct ice_port_info *pi, u32 agg_id, u8 tc, | ||||
enum ice_rl_type rl_type, u32 bw); | enum ice_rl_type rl_type, u32 bw); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_agg_bw_dflt_lmt_per_tc(struct ice_port_info *pi, u32 agg_id, u8 tc, | ice_cfg_agg_bw_dflt_lmt_per_tc(struct ice_port_info *pi, u32 agg_id, u8 tc, | ||||
enum ice_rl_type rl_type); | enum ice_rl_type rl_type); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_vsi_bw_shared_lmt(struct ice_port_info *pi, u16 vsi_handle, u32 bw); | ice_cfg_vsi_bw_shared_lmt(struct ice_port_info *pi, u16 vsi_handle, u32 min_bw, | ||||
u32 max_bw, u32 shared_bw); | |||||
enum ice_status | enum ice_status | ||||
ice_cfg_vsi_bw_no_shared_lmt(struct ice_port_info *pi, u16 vsi_handle); | ice_cfg_vsi_bw_no_shared_lmt(struct ice_port_info *pi, u16 vsi_handle); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_agg_bw_shared_lmt(struct ice_port_info *pi, u32 agg_id, u32 bw); | ice_cfg_agg_bw_shared_lmt(struct ice_port_info *pi, u32 agg_id, u32 min_bw, | ||||
u32 max_bw, u32 shared_bw); | |||||
enum ice_status | enum ice_status | ||||
ice_cfg_agg_bw_no_shared_lmt(struct ice_port_info *pi, u32 agg_id); | ice_cfg_agg_bw_no_shared_lmt(struct ice_port_info *pi, u32 agg_id); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_agg_bw_shared_lmt_per_tc(struct ice_port_info *pi, u32 agg_id, u8 tc, | |||||
u32 min_bw, u32 max_bw, u32 shared_bw); | |||||
enum ice_status | |||||
ice_cfg_agg_bw_no_shared_lmt_per_tc(struct ice_port_info *pi, u32 agg_id, | |||||
u8 tc); | |||||
enum ice_status | |||||
ice_cfg_vsi_q_priority(struct ice_port_info *pi, u16 num_qs, u32 *q_ids, | ice_cfg_vsi_q_priority(struct ice_port_info *pi, u16 num_qs, u32 *q_ids, | ||||
u8 *q_prio); | u8 *q_prio); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_vsi_bw_alloc(struct ice_port_info *pi, u16 vsi_handle, u8 ena_tcmap, | ice_cfg_vsi_bw_alloc(struct ice_port_info *pi, u16 vsi_handle, u8 ena_tcmap, | ||||
enum ice_rl_type rl_type, u8 *bw_alloc); | enum ice_rl_type rl_type, u8 *bw_alloc); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_agg_vsi_priority_per_tc(struct ice_port_info *pi, u32 agg_id, | ice_cfg_agg_vsi_priority_per_tc(struct ice_port_info *pi, u32 agg_id, | ||||
u16 num_vsis, u16 *vsi_handle_arr, | u16 num_vsis, u16 *vsi_handle_arr, | ||||
u8 *node_prio, u8 tc); | u8 *node_prio, u8 tc); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_agg_bw_alloc(struct ice_port_info *pi, u32 agg_id, u8 ena_tcmap, | ice_cfg_agg_bw_alloc(struct ice_port_info *pi, u32 agg_id, u8 ena_tcmap, | ||||
enum ice_rl_type rl_type, u8 *bw_alloc); | enum ice_rl_type rl_type, u8 *bw_alloc); | ||||
bool | bool | ||||
ice_sched_find_node_in_subtree(struct ice_hw *hw, struct ice_sched_node *base, | ice_sched_find_node_in_subtree(struct ice_hw *hw, struct ice_sched_node *base, | ||||
struct ice_sched_node *node); | struct ice_sched_node *node); | ||||
enum ice_status | enum ice_status | ||||
ice_sched_set_agg_bw_dflt_lmt(struct ice_port_info *pi, u16 vsi_handle); | ice_sched_set_agg_bw_dflt_lmt(struct ice_port_info *pi, u16 vsi_handle); | ||||
enum ice_status | enum ice_status | ||||
ice_sched_set_node_bw_lmt_per_tc(struct ice_port_info *pi, u32 id, | ice_sched_set_node_bw_lmt_per_tc(struct ice_port_info *pi, u32 id, | ||||
enum ice_agg_type agg_type, u8 tc, | enum ice_agg_type agg_type, u8 tc, | ||||
enum ice_rl_type rl_type, u32 bw); | enum ice_rl_type rl_type, u32 bw); | ||||
enum ice_status | enum ice_status | ||||
ice_sched_set_vsi_bw_shared_lmt(struct ice_port_info *pi, u16 vsi_handle, | ice_sched_set_vsi_bw_shared_lmt(struct ice_port_info *pi, u16 vsi_handle, | ||||
u32 bw); | u32 min_bw, u32 max_bw, u32 shared_bw); | ||||
enum ice_status | enum ice_status | ||||
ice_sched_set_agg_bw_shared_lmt(struct ice_port_info *pi, u32 agg_id, u32 bw); | ice_sched_set_agg_bw_shared_lmt(struct ice_port_info *pi, u32 agg_id, u32 min_bw, | ||||
u32 max_bw, u32 shared_bw); | |||||
enum ice_status | enum ice_status | ||||
ice_sched_set_agg_bw_shared_lmt_per_tc(struct ice_port_info *pi, u32 agg_id, | |||||
u8 tc, u32 min_bw, u32 max_bw, | |||||
u32 shared_bw); | |||||
enum ice_status | |||||
ice_sched_cfg_sibl_node_prio(struct ice_port_info *pi, | ice_sched_cfg_sibl_node_prio(struct ice_port_info *pi, | ||||
struct ice_sched_node *node, u8 priority); | struct ice_sched_node *node, u8 priority); | ||||
enum ice_status | enum ice_status | ||||
ice_cfg_tc_node_bw_alloc(struct ice_port_info *pi, u8 tc, | ice_cfg_tc_node_bw_alloc(struct ice_port_info *pi, u8 tc, | ||||
enum ice_rl_type rl_type, u8 bw_alloc); | enum ice_rl_type rl_type, u8 bw_alloc); | ||||
enum ice_status ice_cfg_rl_burst_size(struct ice_hw *hw, u32 bytes); | enum ice_status ice_cfg_rl_burst_size(struct ice_hw *hw, u32 bytes); | ||||
void ice_sched_replay_agg_vsi_preinit(struct ice_hw *hw); | |||||
void ice_sched_replay_agg(struct ice_hw *hw); | |||||
enum ice_status ice_sched_replay_tc_node_bw(struct ice_port_info *pi); | |||||
enum ice_status ice_replay_vsi_agg(struct ice_hw *hw, u16 vsi_handle); | |||||
enum ice_status ice_sched_replay_root_node_bw(struct ice_port_info *pi); | |||||
enum ice_status | |||||
ice_sched_replay_q_bw(struct ice_port_info *pi, struct ice_q_ctx *q_ctx); | |||||
#endif /* _ICE_SCHED_H_ */ | #endif /* _ICE_SCHED_H_ */ |