diff options
author | Anirudh Venkataramanan <anirudh.venkataramanan@intel.com> | 2018-03-20 10:58:13 -0400 |
---|---|---|
committer | Jeff Kirsher <jeffrey.t.kirsher@intel.com> | 2018-03-26 14:18:36 -0400 |
commit | cdedef59deb020e78721d820a5692100128c8c73 (patch) | |
tree | 2bdeeb20d1fadea63eb26501b64bc6eee455f6e8 /drivers/net/ethernet/intel/ice/ice_sched.h | |
parent | 9daf8208dd4dee4e13079bd0520a5fb8d20e8b06 (diff) |
ice: Configure VSIs for Tx/Rx
This patch configures the VSIs to be able to send and receive
packets by doing the following:
1) Initialize flexible parser to extract and include certain
fields in the Rx descriptor.
2) Add Tx queues by programming the Tx queue context (implemented in
ice_vsi_cfg_txqs). Note that adding the queues also enables (starts)
the queues.
3) Add Rx queues by programming Rx queue context (implemented in
ice_vsi_cfg_rxqs). Note that this only adds queues but doesn't start
them. The rings will be started by calling ice_vsi_start_rx_rings on
interface up.
4) Configure interrupts for VSI queues.
5) Implement ice_open and ice_stop.
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_sched.h')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_sched.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_sched.h b/drivers/net/ethernet/intel/ice/ice_sched.h index 2926ee9c373e..639859a3d0f0 100644 --- a/drivers/net/ethernet/intel/ice/ice_sched.h +++ b/drivers/net/ethernet/intel/ice/ice_sched.h | |||
@@ -6,6 +6,8 @@ | |||
6 | 6 | ||
7 | #include "ice_common.h" | 7 | #include "ice_common.h" |
8 | 8 | ||
9 | #define ICE_QGRP_LAYER_OFFSET 2 | ||
10 | |||
9 | struct ice_sched_agg_vsi_info { | 11 | struct ice_sched_agg_vsi_info { |
10 | struct list_head list_entry; | 12 | struct list_head list_entry; |
11 | DECLARE_BITMAP(tc_bitmap, ICE_MAX_TRAFFIC_CLASS); | 13 | DECLARE_BITMAP(tc_bitmap, ICE_MAX_TRAFFIC_CLASS); |
@@ -31,4 +33,7 @@ ice_sched_add_node(struct ice_port_info *pi, u8 layer, | |||
31 | struct ice_aqc_txsched_elem_data *info); | 33 | struct ice_aqc_txsched_elem_data *info); |
32 | void ice_free_sched_node(struct ice_port_info *pi, struct ice_sched_node *node); | 34 | void ice_free_sched_node(struct ice_port_info *pi, struct ice_sched_node *node); |
33 | struct ice_sched_node *ice_sched_get_tc_node(struct ice_port_info *pi, u8 tc); | 35 | struct ice_sched_node *ice_sched_get_tc_node(struct ice_port_info *pi, u8 tc); |
36 | struct ice_sched_node * | ||
37 | ice_sched_get_free_qparent(struct ice_port_info *pi, u16 vsi_id, u8 tc, | ||
38 | u8 owner); | ||
34 | #endif /* _ICE_SCHED_H_ */ | 39 | #endif /* _ICE_SCHED_H_ */ |