[dpdk-dev] [PATCH v2 19/30] net/dpaa2: use LFQIDs in Tx instead of qdid
Sachin Saxena
sachin.saxena at nxp.com
Thu Aug 29 12:27:26 CEST 2019
Signed-off-by: Sachin Saxena <sachin.saxena at nxp.com>
---
drivers/net/dpaa2/dpaa2_ethdev.c | 10 ++++++++++
drivers/net/dpaa2/dpaa2_rxtx.c | 12 +++++-------
2 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index a1ef5be6a..29f0bfdf2 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -677,6 +677,7 @@ dpaa2_dev_tx_queue_setup(struct rte_eth_dev *dev,
struct dpni_queue tx_conf_cfg;
struct dpni_queue tx_flow_cfg;
uint8_t options = 0, flow_id;
+ struct dpni_queue_id qid;
uint32_t tc_id;
int ret;
@@ -718,6 +719,15 @@ dpaa2_dev_tx_queue_setup(struct rte_eth_dev *dev,
}
dpaa2_q->tc_index = tc_id;
+ ret = dpni_get_queue(dpni, CMD_PRI_LOW, priv->token,
+ DPNI_QUEUE_TX, dpaa2_q->tc_index,
+ dpaa2_q->flow_id, &tx_flow_cfg, &qid);
+ if (ret) {
+ DPAA2_PMD_ERR("Error in getting LFQID err=%d", ret);
+ return -1;
+ }
+ dpaa2_q->fqid = qid.fqid;
+
if (!(priv->flags & DPAA2_TX_CGR_OFF)) {
struct dpni_congestion_notification_cfg cong_notif_cfg = {0};
diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c
index 19838180f..2209b78a4 100644
--- a/drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/drivers/net/dpaa2/dpaa2_rxtx.c
@@ -869,8 +869,8 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
/*Prepare enqueue descriptor*/
qbman_eq_desc_clear(&eqdesc);
qbman_eq_desc_set_no_orp(&eqdesc, DPAA2_EQ_RESP_ERR_FQ);
- qbman_eq_desc_set_qd(&eqdesc, priv->qdid,
- dpaa2_q->flow_id, dpaa2_q->tc_index);
+ qbman_eq_desc_set_fq(&eqdesc, dpaa2_q->fqid);
+
/*Clear the unused FD fields before sending*/
while (nb_pkts) {
/*Check if the queue is congested*/
@@ -1021,8 +1021,7 @@ dpaa2_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
uint16_t orpid, seqnum;
uint8_t dq_idx;
- qbman_eq_desc_set_qd(eqdesc, priv->qdid, dpaa2_q->flow_id,
- dpaa2_q->tc_index);
+ qbman_eq_desc_set_fq(eqdesc, dpaa2_q->fqid);
if (m->seqn & DPAA2_ENQUEUE_FLAG_ORP) {
orpid = (m->seqn & DPAA2_EQCR_OPRID_MASK) >>
@@ -1128,9 +1127,8 @@ dpaa2_dev_tx_ordered(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
} else {
qbman_eq_desc_set_no_orp(&eqdesc[loop],
DPAA2_EQ_RESP_ERR_FQ);
- qbman_eq_desc_set_qd(&eqdesc[loop], priv->qdid,
- dpaa2_q->flow_id,
- dpaa2_q->tc_index);
+ qbman_eq_desc_set_fq(&eqdesc[loop],
+ dpaa2_q->fqid);
}
if (likely(RTE_MBUF_DIRECT(*bufs))) {
--
2.17.1
More information about the dev
mailing list