[dpdk-dev] [PATCH 3/3] net/bnxt: add ARM64 vector support
Ruifeng Wang
Ruifeng.Wang at arm.com
Tue Jun 16 07:18:44 CEST 2020
> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Lance Richardson
> Sent: Friday, June 12, 2020 7:58 AM
> To: dev at dpdk.org; Ajit Khaparde (ajit.khaparde at broadcom.com)
> <ajit.khaparde at broadcom.com>
> Subject: [dpdk-dev] [PATCH 3/3] net/bnxt: add ARM64 vector support
>
> Add bnxt vector PMD support using NEON SIMD instructions.
>
> Signed-off-by: Lance Richardson <lance.richardson at broadcom.com>
> Reviewed-by: Ajit Kumar Khaparde <ajit.khaparde at broadcom.com>
> ---
> drivers/net/bnxt/Makefile | 3 +
> drivers/net/bnxt/bnxt_ethdev.c | 10 +-
> drivers/net/bnxt/bnxt_ring.c | 4 +-
> drivers/net/bnxt/bnxt_rxq.h | 2 +-
> drivers/net/bnxt/bnxt_rxr.c | 2 +-
> drivers/net/bnxt/bnxt_rxr.h | 2 +-
> drivers/net/bnxt/bnxt_rxtx_vec_common.h | 57 +++
> drivers/net/bnxt/bnxt_rxtx_vec_neon.c | 473
> ++++++++++++++++++++++++
> drivers/net/bnxt/bnxt_rxtx_vec_sse.c | 46 +--
> drivers/net/bnxt/bnxt_txr.h | 2 +-
> drivers/net/bnxt/meson.build | 2 +
> 11 files changed, 548 insertions(+), 55 deletions(-) create mode 100644
> drivers/net/bnxt/bnxt_rxtx_vec_common.h
> create mode 100644 drivers/net/bnxt/bnxt_rxtx_vec_neon.c
>
<snip>
> diff --git a/drivers/net/bnxt/bnxt_rxtx_vec_neon.c
> b/drivers/net/bnxt/bnxt_rxtx_vec_neon.c
> new file mode 100644
> index 000000000..49620d03e
> --- /dev/null
> +++ b/drivers/net/bnxt/bnxt_rxtx_vec_neon.c
> @@ -0,0 +1,473 @@
> +/* SPDX-License-Identifier: BSD-3-Clause */
> +/* Copyright(c) 2019-2020 Broadcom All rights reserved. */
> +
> +#include <inttypes.h>
> +#include <stdbool.h>
> +
> +#include <rte_bitmap.h>
> +#include <rte_byteorder.h>
> +#include <rte_malloc.h>
> +#include <rte_memory.h>
> +#if defined(RTE_ARCH_ARM64)
> +#include <arm_neon.h>
rte_vect.h includes compatibility improvement. It can replace arm_neon.h here.
> +#else
> +#error "bnxt vector pmd: unsupported target."
> +#endif
> +
> +#include "bnxt.h"
> +#include "bnxt_cpr.h"
> +#include "bnxt_ring.h"
> +#include "bnxt_rxr.h"
> +#include "bnxt_rxq.h"
> +#include "hsi_struct_def_dpdk.h"
> +#include "bnxt_rxtx_vec_common.h"
> +
> +#include "bnxt_txq.h"
> +#include "bnxt_txr.h"
> +
<snip>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
More information about the dev
mailing list