X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Favf%2Favf_rxtx.c;h=8c7a96727dc7131ed2c41014ca0c25a687bda104;hb=817a6c47404550374d5a0700b328a803bec9b13e;hp=e0c45839e8411a9756408fa7131be872bddc2fd5;hpb=1060591eada56a1ba8a14b817d0f1f24fd76b6be;p=dpdk.git diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c index e0c45839e8..8c7a96727d 100644 --- a/drivers/net/avf/avf_rxtx.c +++ b/drivers/net/avf/avf_rxtx.c @@ -17,7 +17,7 @@ #include #include #include -#include +#include #include #include #include @@ -109,7 +109,7 @@ check_rx_vec_allow(struct avf_rx_queue *rxq) static inline bool check_tx_vec_allow(struct avf_tx_queue *txq) { - if ((txq->txq_flags & AVF_SIMPLE_FLAGS) == AVF_SIMPLE_FLAGS && + if (!(txq->offloads & AVF_NO_VECTOR_FLAGS) && txq->rs_thresh >= AVF_VPMD_TX_MAX_BURST && txq->rs_thresh <= AVF_VPMD_TX_MAX_FREE_BUF) { PMD_INIT_LOG(DEBUG, "Vector tx can be enabled on this txq."); @@ -247,7 +247,6 @@ alloc_rxq_mbufs(struct avf_rx_queue *rxq) static inline void release_rxq_mbufs(struct avf_rx_queue *rxq) { - struct rte_mbuf *mbuf; uint16_t i; if (!rxq->sw_ring) @@ -310,9 +309,8 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, struct avf_rx_queue *rxq; const struct rte_memzone *mz; uint32_t ring_size; - uint16_t len, i; + uint16_t len; uint16_t rx_free_thresh; - uint16_t base, bsf, tc_mapping; PMD_INIT_FUNC_TRACE(); @@ -428,16 +426,16 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev, const struct rte_eth_txconf *tx_conf) { struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private); - struct avf_adapter *ad = - AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); struct avf_tx_queue *txq; const struct rte_memzone *mz; uint32_t ring_size; uint16_t tx_rs_thresh, tx_free_thresh; - uint16_t i, base, bsf, tc_mapping; + uint64_t offloads; PMD_INIT_FUNC_TRACE(); + offloads = tx_conf->offloads | dev->data->dev_conf.txmode.offloads; + if (nb_desc % AVF_ALIGN_RING_DESC != 0 || nb_desc > AVF_MAX_RING_DESC || nb_desc < AVF_MIN_RING_DESC) { @@ -474,7 +472,7 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev, txq->free_thresh = tx_free_thresh; txq->queue_id = queue_idx; txq->port_id = dev->data->port_id; - txq->txq_flags = tx_conf->txq_flags; + txq->offloads = offloads; txq->tx_deferred_start = tx_conf->tx_deferred_start; /* Allocate software ring */ @@ -512,8 +510,11 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev, txq->ops = &def_txq_ops; #ifdef RTE_LIBRTE_AVF_INC_VECTOR - if (check_tx_vec_allow(txq) == FALSE) + if (check_tx_vec_allow(txq) == FALSE) { + struct avf_adapter *ad = + AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); ad->tx_vec_allowed = false; + } #endif return 0; @@ -1265,7 +1266,6 @@ static inline uint16_t rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) { struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue; - struct rte_eth_dev *dev; uint16_t nb_rx = 0; if (!nb_pkts) @@ -1581,10 +1581,6 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) if (nb_ctx) { /* Setup TX context descriptor if required */ - volatile struct avf_tx_context_desc *ctx_txd = - (volatile struct avf_tx_context_desc *) - &txr[tx_id]; - uint16_t cd_l2tag2 = 0; uint64_t cd_type_cmd_tso_mss = AVF_TX_DESC_DTYPE_CONTEXT; @@ -1600,7 +1596,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) cd_type_cmd_tso_mss |= avf_set_tso_ctx(tx_pkt, tx_offload); - AVF_DUMP_TX_DESC(txq, ctx_txd, tx_id); + AVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id); txe->last_id = tx_last; tx_id = txe->next_id; txe = txn; @@ -1831,7 +1827,7 @@ avf_dev_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id, qinfo->conf.tx_free_thresh = txq->free_thresh; qinfo->conf.tx_rs_thresh = txq->rs_thresh; - qinfo->conf.txq_flags = txq->txq_flags; + qinfo->conf.offloads = txq->offloads; qinfo->conf.tx_deferred_start = txq->tx_deferred_start; } @@ -1922,7 +1918,7 @@ avf_dev_tx_desc_status(void *tx_queue, uint16_t offset) return RTE_ETH_TX_DESC_FULL; } -uint16_t __attribute__((weak)) +__rte_weak uint16_t avf_recv_pkts_vec(__rte_unused void *rx_queue, __rte_unused struct rte_mbuf **rx_pkts, __rte_unused uint16_t nb_pkts) @@ -1930,7 +1926,7 @@ avf_recv_pkts_vec(__rte_unused void *rx_queue, return 0; } -uint16_t __attribute__((weak)) +__rte_weak uint16_t avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue, __rte_unused struct rte_mbuf **rx_pkts, __rte_unused uint16_t nb_pkts) @@ -1938,7 +1934,7 @@ avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue, return 0; } -uint16_t __attribute__((weak)) +__rte_weak uint16_t avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue, __rte_unused struct rte_mbuf **tx_pkts, __rte_unused uint16_t nb_pkts) @@ -1946,13 +1942,13 @@ avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue, return 0; } -int __attribute__((weak)) +__rte_weak int avf_rxq_vec_setup(__rte_unused struct avf_rx_queue *rxq) { return -1; } -int __attribute__((weak)) +__rte_weak int avf_txq_vec_setup(__rte_unused struct avf_tx_queue *txq) { return -1;