From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A6314A0564; Tue, 24 Mar 2020 05:03:06 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 48C4D1C0BE; Tue, 24 Mar 2020 05:03:05 +0100 (CET) Received: from mail-ot1-f66.google.com (mail-ot1-f66.google.com [209.85.210.66]) by dpdk.org (Postfix) with ESMTP id 9DC261C0B0 for ; Tue, 24 Mar 2020 05:03:03 +0100 (CET) Received: by mail-ot1-f66.google.com with SMTP id x11so3712457otp.6 for ; Mon, 23 Mar 2020 21:03:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cubWGjZ7eDB8J9bcNjUUmkI+Y8TKWr++7FnuSrnYmQU=; b=dWwNRR94DdgP1DA/xKnnb6KBHawSvJ7mIO/4TkORE2l81tZuUdbABSr/UEReBVvQbt 3NESWjEQkFnzkuHqIaOaOBfveLVGLduOKIjp503s3fxYQJ/U9GV+9LIQchYt1uRMAga2 dlBSw1ZcidR1TspTQeyGNexZpKNevBDMDy9zo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=cubWGjZ7eDB8J9bcNjUUmkI+Y8TKWr++7FnuSrnYmQU=; b=YjisjorUtZAUGBx8TBjrmIA1K7uS8ikvRahUaGN/H6cLvgIJvRLlVqVhIwI2/pvkZg 0PEUSAx2MtuiNxjQGKJLmu0a/TgOQWK/T+8xaMxQSSW1tCOK/88LfshpwFW4CAl51F3X GnpVlamS35LTEMgpHHh0IOTUlz02kfnxAU951jsK+QFGyxQ9+XTgWePcEI1argM0C2mT 6K1n8T4M2OkZfoqLRfSOEginka/gCKD3YLycGCx9VU5y+sksB/UhMwx/2NIl/H8ffYGm XZGUCnxNz/WNKD5bwGELNmvsoa6tdWJKhImyZqd4xUtOgnMrJXdIq8Ft9urYrbkxTuEA AULw== X-Gm-Message-State: ANhLgQ03wVUJ42AYE58b8wSPNuyRgC9CgyY0ovhAVHhQmM6Imyhwn+i7 7z1DweQfDByRHwV2V2f9UlWS0FoWAZPOpfjJCXbXFg== X-Google-Smtp-Source: ADFU+vv7tY+O8IZ18yiTjIDf/lw4TxULX8l8rn7Pr59mD8sJpeg/mIywzsgHOq4evgfKlXW3LeruE5AwJLvOazHEWNc= X-Received: by 2002:a9d:7a7:: with SMTP id 36mr21349221oto.283.1585022582367; Mon, 23 Mar 2020 21:03:02 -0700 (PDT) MIME-Version: 1.0 References: <20200305064500.5634-1-stephen@networkplumber.org> In-Reply-To: <20200305064500.5634-1-stephen@networkplumber.org> From: Ajit Khaparde Date: Mon, 23 Mar 2020 21:02:46 -0700 Message-ID: To: Stephen Hemminger Cc: dpdk-dev , Lance Richardson , dpdk stable Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH] net/bnxt: allow configuring vector mode X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Wed, Mar 4, 2020 at 10:45 PM Stephen Hemminger < stephen@networkplumber.org> wrote: > The bnxt driver has vector mode but it has limitations. > For example, rte_flow mark won't work in vector mode. > For this reason the user should be able to disable vector mode > as part of the config. > > Make the configuration use the same as other drivers with > vector mode: ixge, i40e, ... > > This will also make future support of vector mode on other > architectures possible. > > Fixes: bc4a000f2f53 ("net/bnxt: implement SSE vector mode") > Cc: lance.richardson@broadcom.com > Cc: stable@dpdk.org > Signed-off-by: Stephen Hemminger > Patch applied to dpdk-next-net-brcm. Thanks > --- > config/common_base | 1 + > drivers/net/bnxt/Makefile | 2 +- > drivers/net/bnxt/bnxt_ethdev.c | 10 +++------- > drivers/net/bnxt/bnxt_ring.c | 4 ++-- > drivers/net/bnxt/bnxt_rxr.c | 3 +++ > 5 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/config/common_base b/config/common_base > index 7ca2f28b19c8..3c719c7cbfc3 100644 > --- a/config/common_base > +++ b/config/common_base > @@ -219,6 +219,7 @@ CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n > # Compile burst-oriented Broadcom BNXT PMD driver > # > CONFIG_RTE_LIBRTE_BNXT_PMD=y > +CONFIG_RTE_LIBRTE_BNXT_INC_VECTOR=y > > # > # Compile burst-oriented Chelsio Terminator (CXGBE) PMD > diff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile > index b77532b8179b..85d6df6b5aa0 100644 > --- a/drivers/net/bnxt/Makefile > +++ b/drivers/net/bnxt/Makefile > @@ -40,7 +40,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_irq.c > SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_util.c > 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 > +SRCS-$(CONFIG_RTE_LIBRTE_BNXT_INC_VECTOR) += bnxt_rxtx_vec_sse.c > endif > > # > diff --git a/drivers/net/bnxt/bnxt_ethdev.c > b/drivers/net/bnxt/bnxt_ethdev.c > index 18aa313fd8c1..701de33784b2 100644 > --- a/drivers/net/bnxt/bnxt_ethdev.c > +++ b/drivers/net/bnxt/bnxt_ethdev.c > @@ -757,8 +757,7 @@ bnxt_receive_function(struct rte_eth_dev *eth_dev) > { > struct bnxt *bp = eth_dev->data->dev_private; > > -#ifdef RTE_ARCH_X86 > -#ifndef RTE_LIBRTE_IEEE1588 > +#ifdef RTE_BNXT_INC_VECTOR > /* > * Vector mode receive can be enabled only if scatter rx is not > * in use and rx offloads are limited to VLAN stripping and > @@ -787,7 +786,6 @@ bnxt_receive_function(struct rte_eth_dev *eth_dev) > eth_dev->data->port_id, > eth_dev->data->scattered_rx, > eth_dev->data->dev_conf.rxmode.offloads); > -#endif > #endif > bp->flags &= ~BNXT_FLAG_RX_VECTOR_PKT_MODE; > return bnxt_recv_pkts; > @@ -796,8 +794,7 @@ bnxt_receive_function(struct rte_eth_dev *eth_dev) > static eth_tx_burst_t > bnxt_transmit_function(__rte_unused struct rte_eth_dev *eth_dev) > { > -#ifdef RTE_ARCH_X86 > -#ifndef RTE_LIBRTE_IEEE1588 > +#ifdef RTE_BNXT_INC_VECTOR > /* > * Vector mode transmit can be enabled only if not using scatter rx > * or tx offloads. > @@ -815,7 +812,6 @@ bnxt_transmit_function(__rte_unused struct rte_eth_dev > *eth_dev) > eth_dev->data->port_id, > eth_dev->data->scattered_rx, > eth_dev->data->dev_conf.txmode.offloads); > -#endif > #endif > return bnxt_xmit_pkts; > } > @@ -2234,7 +2230,7 @@ int bnxt_mtu_set_op(struct rte_eth_dev *eth_dev, > uint16_t new_mtu) > new_pkt_size = new_mtu + RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN + > VLAN_TAG_SIZE * BNXT_NUM_VLANS; > > -#ifdef RTE_ARCH_X86 > +#ifdef RTE_BNXT_INC_VECTOR > /* > * If vector-mode tx/rx is active, disallow any MTU change that > would > * require scattered receive support. > diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c > index d6e4e8a28138..9a4a0f21418d 100644 > --- a/drivers/net/bnxt/bnxt_ring.c > +++ b/drivers/net/bnxt/bnxt_ring.c > @@ -608,7 +608,7 @@ int bnxt_alloc_hwrm_rx_ring(struct bnxt *bp, int > queue_index) > bnxt_db_write(&rxr->ag_db, rxr->ag_prod); > } > rxq->index = queue_index; > -#ifdef RTE_ARCH_X86 > +#ifdef RTE_BNXT_INC_VECTOR > bnxt_rxq_vec_setup(rxq); > #endif > > @@ -713,7 +713,7 @@ int bnxt_alloc_hwrm_rings(struct bnxt *bp) > bnxt_db_write(&rxr->rx_db, rxr->rx_prod); > bnxt_db_write(&rxr->ag_db, rxr->ag_prod); > rxq->index = i; > -#ifdef RTE_ARCH_X86 > +#ifdef RTE_BNXT_INC_VECTOR > bnxt_rxq_vec_setup(rxq); > #endif > } > diff --git a/drivers/net/bnxt/bnxt_rxr.c b/drivers/net/bnxt/bnxt_rxr.c > index bef9720f590c..f9087bea89b9 100644 > --- a/drivers/net/bnxt/bnxt_rxr.c > +++ b/drivers/net/bnxt/bnxt_rxr.c > @@ -18,6 +18,9 @@ > #include "hsi_struct_def_dpdk.h" > #ifdef RTE_LIBRTE_IEEE1588 > #include "bnxt_hwrm.h" > +#ifdef RTE_BNXT_INC_VECTOR > +#error "bnxt: IEEE1588 is incompatiable with vector mode" > +#endif > #endif > > /* > -- > 2.20.1 > >