[dpdk-dev] [PATCH v7 1/5] net/bnxt: add support for aarch32

Juraj Linkeš juraj.linkes at pantheon.tech
Thu Aug 20 11:13:30 CEST 2020



From: Ruifeng Wang <Ruifeng.Wang at arm.com>
Sent: Thursday, August 20, 2020 5:00 AM
To: Ajit Khaparde (ajit.khaparde at broadcom.com) <ajit.khaparde at broadcom.com>; Juraj Linkeš <juraj.linkes at pantheon.tech>
Cc: Bruce Richardson <bruce.richardson at intel.com>; Aaron Conole <aconole at redhat.com>; maicolgabriel at hotmail.com; dpdk-dev <dev at dpdk.org>; nd <nd at arm.com>
Subject: RE: [dpdk-dev] [PATCH v7 1/5] net/bnxt: add support for aarch32

From: Ajit Khaparde <ajit.khaparde at broadcom.com<mailto:ajit.khaparde at broadcom.com>>
Sent: Thursday, August 20, 2020 1:46 AM
To: Juraj Linkeš <juraj.linkes at pantheon.tech<mailto:juraj.linkes at pantheon.tech>>
Cc: Bruce Richardson <bruce.richardson at intel.com<mailto:bruce.richardson at intel.com>>; Aaron Conole <aconole at redhat.com<mailto:aconole at redhat.com>>; maicolgabriel at hotmail.com<mailto:maicolgabriel at hotmail.com>; dpdk-dev <dev at dpdk.org<mailto:dev at dpdk.org>>; Ruifeng Wang <Ruifeng.Wang at arm.com<mailto:Ruifeng.Wang at arm.com>>
Subject: Re: [dpdk-dev] [PATCH v7 1/5] net/bnxt: add support for aarch32



On Fri, Aug 14, 2020 at 3:32 AM Juraj Linkeš <juraj.linkes at pantheon.tech<mailto:juraj.linkes at pantheon.tech>> wrote:
From: Ruifeng Wang <ruifeng.wang at arm.com<mailto:ruifeng.wang at arm.com>>

Expand vector PMD support to aarch32.

Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com<mailto:ruifeng.wang at arm.com>>
---
 drivers/net/bnxt/Makefile   | 2 +-
 drivers/net/bnxt/bnxt_rxq.h | 2 +-
 drivers/net/bnxt/bnxt_rxr.h | 2 +-
 drivers/net/bnxt/bnxt_txr.h | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile
index 0c5b74918..06a47dc49 100644
--- a/drivers/net/bnxt/Makefile
+++ b/drivers/net/bnxt/Makefile
@@ -43,7 +43,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += rte_pmd_bnxt.c
 ifeq ($(CONFIG_RTE_ARCH_X86), y)
 SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_sse.c
 endif
-ifeq ($(CONFIG_RTE_ARCH_ARM64), y)
+ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
 SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_neon.c
 endif
Thanks for the changes.
With makefiles being deprecated, I don't think this will be required.
That said, I don't see drivers/net/bnxt/meson.build being modified.
Is that not required?

[Ruifeng] No, the meson.build doesn’t require to be modified.
It uses different method to flag inclusion of bnxt_rxtx_vec_neon.c and is compatible with aarch32 build.

[Juraj] Since the makefile changes are not needed, I'll remove them in the next version.


diff --git a/drivers/net/bnxt/bnxt_rxq.h b/drivers/net/bnxt/bnxt_rxq.h
index d5ce3b6d5..1c4027711 100644
--- a/drivers/net/bnxt/bnxt_rxq.h
+++ b/drivers/net/bnxt/bnxt_rxq.h
@@ -22,7 +22,7 @@ struct bnxt_rx_queue {
        uint16_t                nb_rx_hold; /* num held free RX desc */
        uint16_t                rx_free_thresh; /* max free RX desc to hold */
        uint16_t                queue_id; /* RX queue index */
-#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH_ARM)
        uint16_t                rxrearm_nb; /* number of descs to reinit. */
        uint16_t                rxrearm_start; /* next desc index to reinit. */
 #endif
diff --git a/drivers/net/bnxt/bnxt_rxr.h b/drivers/net/bnxt/bnxt_rxr.h
index 2bf46cd91..e2fba1647 100644
--- a/drivers/net/bnxt/bnxt_rxr.h
+++ b/drivers/net/bnxt/bnxt_rxr.h
@@ -221,7 +221,7 @@ int bnxt_init_one_rx_ring(struct bnxt_rx_queue *rxq);
 int bnxt_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id);
 int bnxt_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id);

-#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH_ARM)
 uint16_t bnxt_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
                            uint16_t nb_pkts);
 int bnxt_rxq_vec_setup(struct bnxt_rx_queue *rxq);
diff --git a/drivers/net/bnxt/bnxt_txr.h b/drivers/net/bnxt/bnxt_txr.h
index 7715c11b8..38e5ac9df 100644
--- a/drivers/net/bnxt/bnxt_txr.h
+++ b/drivers/net/bnxt/bnxt_txr.h
@@ -59,7 +59,7 @@ uint16_t bnxt_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
                               uint16_t nb_pkts);
 uint16_t bnxt_dummy_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
                              uint16_t nb_pkts);
-#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || defined(RTE_ARCH_ARM)
 uint16_t bnxt_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
                            uint16_t nb_pkts);
 #endif
--
2.20.1


More information about the dev mailing list