From: Chaoyong He <chaoyong.he@corigine.com>
To: dev@dpdk.org
Cc: niklas.soderlund@corigine.com,
Chaoyong He <chaoyong.he@corigine.com>,
Heinrich Kuhn <heinrich.kuhn@corigine.com>
Subject: [PATCH v2 08/12] net/nfp: move common rxtx function for flower use
Date: Tue, 21 Jun 2022 18:33:04 +0800 [thread overview]
Message-ID: <1655807588-7320-9-git-send-email-chaoyong.he@corigine.com> (raw)
In-Reply-To: <1655807588-7320-1-git-send-email-chaoyong.he@corigine.com>
This commit move some common Rx and Tx logic to the rxtx header file so
that they can be re-used by flower tx and rx logic.
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Signed-off-by: Heinrich Kuhn <heinrich.kuhn@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
---
drivers/net/nfp/nfp_rxtx.c | 32 +-------------------------------
drivers/net/nfp/nfp_rxtx.h | 31 +++++++++++++++++++++++++++++++
2 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/drivers/net/nfp/nfp_rxtx.c b/drivers/net/nfp/nfp_rxtx.c
index 7414c51..cdcf5c2 100644
--- a/drivers/net/nfp/nfp_rxtx.c
+++ b/drivers/net/nfp/nfp_rxtx.c
@@ -116,12 +116,6 @@
return count;
}
-static inline void
-nfp_net_mbuf_alloc_failed(struct nfp_net_rxq *rxq)
-{
- rte_eth_devices[rxq->port_id].data->rx_mbuf_alloc_failed++;
-}
-
/*
* nfp_net_set_hash - Set mbuf hash data
*
@@ -583,7 +577,7 @@
* @txq: TX queue to work with
* Returns number of descriptors freed
*/
-static int
+int
nfp_net_tx_free_bufs(struct nfp_net_txq *txq)
{
uint32_t qcp_rd_p;
@@ -774,30 +768,6 @@
return 0;
}
-/* Leaving always free descriptors for avoiding wrapping confusion */
-static inline
-uint32_t nfp_net_nfd3_free_tx_desc(struct nfp_net_txq *txq)
-{
- if (txq->wr_p >= txq->rd_p)
- return txq->tx_count - (txq->wr_p - txq->rd_p) - 8;
- else
- return txq->rd_p - txq->wr_p - 8;
-}
-
-/*
- * nfp_net_txq_full - Check if the TX queue free descriptors
- * is below tx_free_threshold
- *
- * @txq: TX queue to check
- *
- * This function uses the host copy* of read/write pointers
- */
-static inline
-uint32_t nfp_net_nfd3_txq_full(struct nfp_net_txq *txq)
-{
- return (nfp_net_nfd3_free_tx_desc(txq) < txq->tx_free_thresh);
-}
-
/* nfp_net_tx_tso - Set TX descriptor for TSO */
static inline void
nfp_net_nfd3_tx_tso(struct nfp_net_txq *txq, struct nfp_net_nfd3_tx_desc *txd,
diff --git a/drivers/net/nfp/nfp_rxtx.h b/drivers/net/nfp/nfp_rxtx.h
index 5c005d7..a30171f 100644
--- a/drivers/net/nfp/nfp_rxtx.h
+++ b/drivers/net/nfp/nfp_rxtx.h
@@ -330,6 +330,36 @@ struct nfp_net_rxq {
int rx_qcidx;
} __rte_aligned(64);
+static inline void
+nfp_net_mbuf_alloc_failed(struct nfp_net_rxq *rxq)
+{
+ rte_eth_devices[rxq->port_id].data->rx_mbuf_alloc_failed++;
+}
+
+/* Leaving always free descriptors for avoiding wrapping confusion */
+static inline uint32_t
+nfp_net_nfd3_free_tx_desc(struct nfp_net_txq *txq)
+{
+ if (txq->wr_p >= txq->rd_p)
+ return txq->tx_count - (txq->wr_p - txq->rd_p) - 8;
+ else
+ return txq->rd_p - txq->wr_p - 8;
+}
+
+/*
+ * nfp_net_nfd3_txq_full - Check if the TX queue free descriptors
+ * is below tx_free_threshold
+ *
+ * @txq: TX queue to check
+ *
+ * This function uses the host copy* of read/write pointers
+ */
+static inline uint32_t
+nfp_net_nfd3_txq_full(struct nfp_net_txq *txq)
+{
+ return (nfp_net_nfd3_free_tx_desc(txq) < txq->tx_free_thresh);
+}
+
int nfp_net_rx_freelist_setup(struct rte_eth_dev *dev);
uint32_t nfp_net_rx_queue_count(void *rx_queue);
uint16_t nfp_net_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
@@ -355,6 +385,7 @@ int nfp_net_nfdk_tx_queue_setup(struct rte_eth_dev *dev,
uint16_t nfp_net_nfdk_xmit_pkts(void *tx_queue,
struct rte_mbuf **tx_pkts,
uint16_t nb_pkts);
+int nfp_net_tx_free_bufs(struct nfp_net_txq *txq);
#endif /* _NFP_RXTX_H_ */
/*
--
1.8.3.1
next prev parent reply other threads:[~2022-06-21 10:34 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-21 10:32 [PATCH v2 00/12] preparation for the rte_flow offload of nfp PMD Chaoyong He
2022-06-21 10:32 ` [PATCH v2 01/12] net/nfp: move app specific attributes to own struct Chaoyong He
2022-06-21 10:32 ` [PATCH v2 02/12] net/nfp: simplify initialization and remove dead code Chaoyong He
2022-06-21 10:32 ` [PATCH v2 03/12] net/nfp: move app specific init logic to own function Chaoyong He
2022-06-21 10:33 ` [PATCH v2 04/12] net/nfp: add initial flower firmware support Chaoyong He
2022-06-21 10:33 ` [PATCH v2 05/12] net/nfp: add flower PF setup and mempool init logic Chaoyong He
2022-06-21 10:33 ` [PATCH v2 06/12] net/nfp: add flower PF related routines Chaoyong He
2022-06-21 10:33 ` [PATCH v2 07/12] net/nfp: add flower ctrl VNIC related logics Chaoyong He
2022-06-21 10:33 ` Chaoyong He [this message]
2022-06-21 10:33 ` [PATCH v2 09/12] net/nfp: add flower ctrl VNIC rxtx logic Chaoyong He
2022-06-23 12:36 ` Andrew Rybchenko
2022-06-21 10:33 ` [PATCH v2 10/12] net/nfp: add flower representor framework Chaoyong He
2022-06-21 10:33 ` [PATCH v2 11/12] net/nfp: move rxtx function to header file Chaoyong He
2022-06-21 10:33 ` [PATCH v2 12/12] net/nfp: add flower PF rxtx logic Chaoyong He
2022-06-23 12:36 ` Andrew Rybchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1655807588-7320-9-git-send-email-chaoyong.he@corigine.com \
--to=chaoyong.he@corigine.com \
--cc=dev@dpdk.org \
--cc=heinrich.kuhn@corigine.com \
--cc=niklas.soderlund@corigine.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).