]>
git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/dpdk/drivers/net/cxgbe/cxgbe_pfvf.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2018 Chelsio Communications.
9 #define CXGBE_FW_PARAM_DEV(param) \
10 (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_DEV) | \
11 V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_DEV_##param))
13 #define CXGBE_FW_PARAM_PFVF(param) \
14 (V_FW_PARAMS_MNEM(FW_PARAMS_MNEM_PFVF) | \
15 V_FW_PARAMS_PARAM_X(FW_PARAMS_PARAM_PFVF_##param) | \
16 V_FW_PARAMS_PARAM_Y(0) | \
17 V_FW_PARAMS_PARAM_Z(0))
19 void cxgbe_dev_rx_queue_release(void *q
);
20 void cxgbe_dev_tx_queue_release(void *q
);
21 void cxgbe_dev_stop(struct rte_eth_dev
*eth_dev
);
22 void cxgbe_dev_close(struct rte_eth_dev
*eth_dev
);
23 int cxgbe_dev_info_get(struct rte_eth_dev
*eth_dev
,
24 struct rte_eth_dev_info
*device_info
);
25 int cxgbe_dev_promiscuous_enable(struct rte_eth_dev
*eth_dev
);
26 int cxgbe_dev_promiscuous_disable(struct rte_eth_dev
*eth_dev
);
27 int cxgbe_dev_allmulticast_enable(struct rte_eth_dev
*eth_dev
);
28 int cxgbe_dev_allmulticast_disable(struct rte_eth_dev
*eth_dev
);
29 int cxgbe_mac_addr_set(struct rte_eth_dev
*dev
, struct rte_ether_addr
*addr
);
30 int cxgbe_dev_configure(struct rte_eth_dev
*eth_dev
);
31 int cxgbe_dev_tx_queue_setup(struct rte_eth_dev
*eth_dev
, uint16_t queue_idx
,
32 uint16_t nb_desc
, unsigned int socket_id
,
33 const struct rte_eth_txconf
*tx_conf
);
34 int cxgbe_dev_rx_queue_setup(struct rte_eth_dev
*eth_dev
, uint16_t queue_idx
,
35 uint16_t nb_desc
, unsigned int socket_id
,
36 const struct rte_eth_rxconf
*rx_conf
,
37 struct rte_mempool
*mp
);
38 int cxgbe_dev_tx_queue_start(struct rte_eth_dev
*eth_dev
,
39 uint16_t tx_queue_id
);
40 int cxgbe_dev_rx_queue_start(struct rte_eth_dev
*eth_dev
,
41 uint16_t tx_queue_id
);
42 int cxgbe_dev_tx_queue_stop(struct rte_eth_dev
*eth_dev
, uint16_t tx_queue_id
);
43 int cxgbe_dev_rx_queue_stop(struct rte_eth_dev
*eth_dev
, uint16_t rx_queue_id
);
44 int cxgbe_dev_mtu_set(struct rte_eth_dev
*eth_dev
, uint16_t mtu
);
45 int cxgbe_dev_start(struct rte_eth_dev
*eth_dev
);
46 int cxgbe_dev_link_update(struct rte_eth_dev
*eth_dev
,
47 int wait_to_complete
);
48 int cxgbe_dev_set_link_up(struct rte_eth_dev
*dev
);
49 int cxgbe_dev_set_link_down(struct rte_eth_dev
*dev
);
50 uint16_t cxgbe_xmit_pkts(void *tx_queue
, struct rte_mbuf
**tx_pkts
,
52 uint16_t cxgbe_recv_pkts(void *rx_queue
, struct rte_mbuf
**rx_pkts
,
54 const uint32_t *cxgbe_dev_supported_ptypes_get(struct rte_eth_dev
*eth_dev
);
55 #endif /* _CXGBE_PFVF_H_ */