Code Review
/
deb_dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
New upstream version 18.05
[deb_dpdk.git]
/
drivers
/
net
/
avf
/
avf_rxtx.c
diff --git
a/drivers/net/avf/avf_rxtx.c
b/drivers/net/avf/avf_rxtx.c
index
d276d97
..
e03a136
100644
(file)
--- a/
drivers/net/avf/avf_rxtx.c
+++ b/
drivers/net/avf/avf_rxtx.c
@@
-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)
{
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.");
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.");
@@
-435,9
+435,12
@@
avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
uint32_t ring_size;
uint16_t tx_rs_thresh, tx_free_thresh;
uint16_t i, base, bsf, tc_mapping;
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();
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) {
if (nb_desc % AVF_ALIGN_RING_DESC != 0 ||
nb_desc > AVF_MAX_RING_DESC ||
nb_desc < AVF_MIN_RING_DESC) {
@@
-474,7
+477,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->free_thresh = tx_free_thresh;
txq->queue_id = queue_idx;
txq->port_id = dev->data->port_id;
- txq->
txq_flags = tx_conf->txq_flag
s;
+ txq->
offloads = offload
s;
txq->tx_deferred_start = tx_conf->tx_deferred_start;
/* Allocate software ring */
txq->tx_deferred_start = tx_conf->tx_deferred_start;
/* Allocate software ring */
@@
-1831,7
+1834,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.tx_free_thresh = txq->free_thresh;
qinfo->conf.tx_rs_thresh = txq->rs_thresh;
- qinfo->conf.
txq_flags = txq->txq_flag
s;
+ qinfo->conf.
offloads = txq->offload
s;
qinfo->conf.tx_deferred_start = txq->tx_deferred_start;
}
qinfo->conf.tx_deferred_start = txq->tx_deferred_start;
}