X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fice_dcf.h;h=a44a01e90139716783666bb7a7681a4fe71b4d23;hb=4f86c0ba19ba065c8c32a5b0111efc7bb74c9b96;hp=f44c09db278761d203d1b63cbf9eff4a4c4d1363;hpb=7564d5509611523233c617e8199d2d501acae1fd;p=dpdk.git diff --git a/drivers/net/ice/ice_dcf.h b/drivers/net/ice/ice_dcf.h index f44c09db27..a44a01e901 100644 --- a/drivers/net/ice/ice_dcf.h +++ b/drivers/net/ice/ice_dcf.h @@ -11,6 +11,7 @@ #include #include +#include "base/ice_type.h" #include "ice_logs.h" struct dcf_virtchnl_cmd { @@ -35,18 +36,45 @@ struct ice_dcf_hw { rte_spinlock_t vc_cmd_send_lock; rte_spinlock_t vc_cmd_queue_lock; TAILQ_HEAD(, dcf_virtchnl_cmd) vc_cmd_queue; + void (*vc_event_msg_cb)(struct ice_dcf_hw *dcf_hw, + uint8_t *msg, uint16_t msglen); + uint8_t *arq_buf; + uint16_t num_vfs; + uint16_t *vf_vsi_map; + struct virtchnl_version_info virtchnl_version; struct virtchnl_vf_resource *vf_res; /* VF resource */ struct virtchnl_vsi_resource *vsi_res; /* LAN VSI */ uint16_t vsi_id; + + struct rte_eth_dev *eth_dev; + uint8_t *rss_lut; + uint8_t *rss_key; + uint64_t supported_rxdid; + uint16_t num_queue_pairs; + + uint16_t msix_base; + uint16_t nb_msix; + uint16_t rxq_map[16]; + struct virtchnl_eth_stats eth_stats_offset; }; int ice_dcf_execute_virtchnl_cmd(struct ice_dcf_hw *hw, struct dcf_virtchnl_cmd *cmd); - +int ice_dcf_send_aq_cmd(void *dcf_hw, struct ice_aq_desc *desc, + void *buf, uint16_t buf_size); +int ice_dcf_handle_vsi_update_event(struct ice_dcf_hw *hw); int ice_dcf_init_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw); void ice_dcf_uninit_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw); +int ice_dcf_init_rss(struct ice_dcf_hw *hw); +int ice_dcf_configure_queues(struct ice_dcf_hw *hw); +int ice_dcf_config_irq_map(struct ice_dcf_hw *hw); +int ice_dcf_switch_queue(struct ice_dcf_hw *hw, uint16_t qid, bool rx, bool on); +int ice_dcf_disable_queues(struct ice_dcf_hw *hw); +int ice_dcf_query_stats(struct ice_dcf_hw *hw, + struct virtchnl_eth_stats *pstats); +int ice_dcf_add_del_all_mac_addr(struct ice_dcf_hw *hw, bool add); #endif /* _ICE_DCF_H_ */