xref: /dpdk/drivers/net/igc/igc_txrx.h (revision 8d7d4fcd)
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2020 Intel Corporation
3  */
4 
5 #ifndef _IGC_TXRX_H_
6 #define _IGC_TXRX_H_
7 
8 #include "igc_ethdev.h"
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 /*
15  * RX/TX function prototypes
16  */
17 void eth_igc_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid);
18 void eth_igc_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid);
19 void igc_dev_clear_queues(struct rte_eth_dev *dev);
20 int eth_igc_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
21 		uint16_t nb_rx_desc, unsigned int socket_id,
22 		const struct rte_eth_rxconf *rx_conf,
23 		struct rte_mempool *mb_pool);
24 
25 uint32_t eth_igc_rx_queue_count(void *rx_queue);
26 
27 int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset);
28 
29 int eth_igc_tx_descriptor_status(void *tx_queue, uint16_t offset);
30 
31 int eth_igc_tx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
32 		uint16_t nb_desc, unsigned int socket_id,
33 		const struct rte_eth_txconf *tx_conf);
34 int eth_igc_tx_done_cleanup(void *txqueue, uint32_t free_cnt);
35 
36 int igc_rx_init(struct rte_eth_dev *dev);
37 void igc_tx_init(struct rte_eth_dev *dev);
38 void igc_rss_disable(struct rte_eth_dev *dev);
39 void
40 igc_hw_rss_hash_set(struct igc_hw *hw, struct rte_eth_rss_conf *rss_conf);
41 int igc_del_rss_filter(struct rte_eth_dev *dev);
42 void igc_rss_conf_set(struct igc_rss_filter *out,
43 		const struct rte_flow_action_rss *rss);
44 int igc_add_rss_filter(struct rte_eth_dev *dev, struct igc_rss_filter *rss);
45 void igc_clear_rss_filter(struct rte_eth_dev *dev);
46 void eth_igc_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
47 	struct rte_eth_rxq_info *qinfo);
48 void eth_igc_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
49 	struct rte_eth_txq_info *qinfo);
50 void eth_igc_vlan_strip_queue_set(struct rte_eth_dev *dev,
51 			uint16_t rx_queue_id, int on);
52 #ifdef __cplusplus
53 }
54 #endif
55 
56 #endif /* _IGC_TXRX_H_ */
57