ice_sched.h 794 B

12345678910111213141516171819202122232425262728
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /* Copyright (c) 2018, Intel Corporation. */
  3. #ifndef _ICE_SCHED_H_
  4. #define _ICE_SCHED_H_
  5. #include "ice_common.h"
  6. struct ice_sched_agg_vsi_info {
  7. struct list_head list_entry;
  8. DECLARE_BITMAP(tc_bitmap, ICE_MAX_TRAFFIC_CLASS);
  9. u16 vsi_id;
  10. };
  11. struct ice_sched_agg_info {
  12. struct list_head agg_vsi_list;
  13. struct list_head list_entry;
  14. DECLARE_BITMAP(tc_bitmap, ICE_MAX_TRAFFIC_CLASS);
  15. u32 agg_id;
  16. enum ice_agg_type agg_type;
  17. };
  18. /* FW AQ command calls */
  19. enum ice_status ice_sched_query_res_alloc(struct ice_hw *hw);
  20. void ice_sched_cleanup_all(struct ice_hw *hw);
  21. void ice_free_sched_node(struct ice_port_info *pi, struct ice_sched_node *node);
  22. struct ice_sched_node *ice_sched_get_tc_node(struct ice_port_info *pi, u8 tc);
  23. #endif /* _ICE_SCHED_H_ */