From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id ECD622C18 for ; Thu, 29 Mar 2018 12:29:58 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Mar 2018 03:29:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,376,1517904000"; d="scan'208";a="41731079" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga004.fm.intel.com with ESMTP; 29 Mar 2018 03:29:57 -0700 Received: from fmsmsx157.amr.corp.intel.com (10.18.116.73) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 29 Mar 2018 03:29:57 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by FMSMSX157.amr.corp.intel.com (10.18.116.73) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 29 Mar 2018 03:29:56 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.166]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.226]) with mapi id 14.03.0319.002; Thu, 29 Mar 2018 18:29:55 +0800 From: "Xing, Beilei" To: "Lu, Wenzhuo" , "dev@dpdk.org" CC: "Lu, Wenzhuo" Thread-Topic: [dpdk-dev] [PATCH] net/avf: convert to new RX/TX offload API Thread-Index: AQHTsSgh+pxgYLI1LkyOgYg+W3D73aPnLkdw Date: Thu, 29 Mar 2018 10:29:53 +0000 Message-ID: <94479800C636CB44BD422CB454846E01320FA43F@SHSMSX101.ccr.corp.intel.com> References: <1519886506-87069-1-git-send-email-wenzhuo.lu@intel.com> In-Reply-To: <1519886506-87069-1-git-send-email-wenzhuo.lu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMTZlNmYwNGYtMmEzYi00NGJlLTkzNmQtMjU1YWM0NDNhZThmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE2LjUuOS4zIiwiVHJ1c3RlZExhYmVsSGFzaCI6IjUzU3dudVBPWHdabWRKdXhcL1V2d083dUlic0dodnkxZEhUZk1HOTB1SCswPSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] net/avf: convert to new RX/TX offload API 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: , X-List-Received-Date: Thu, 29 Mar 2018 10:29:59 -0000 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Wenzhuo Lu > Sent: Thursday, March 1, 2018 2:42 PM > To: dev@dpdk.org > Cc: Lu, Wenzhuo > Subject: [dpdk-dev] [PATCH] net/avf: convert to new RX/TX offload API >=20 > Signed-off-by: Wenzhuo Lu > --- > drivers/net/avf/avf_ethdev.c | 6 +++--- > drivers/net/avf/avf_rxtx.c | 6 +++--- > drivers/net/avf/avf_rxtx.h | 10 +++++++--- > 3 files changed, 13 insertions(+), 9 deletions(-) >=20 > diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/avf/avf_ethdev.c > index 4df6617..444e0e7 100644 > --- a/drivers/net/avf/avf_ethdev.c > +++ b/drivers/net/avf/avf_ethdev.c > @@ -532,13 +532,13 @@ static int avf_config_rx_queues_irqs(struct > rte_eth_dev *dev, > dev_info->default_rxconf =3D (struct rte_eth_rxconf) { > .rx_free_thresh =3D AVF_DEFAULT_RX_FREE_THRESH, > .rx_drop_en =3D 0, > + .offloads =3D 0, > }; >=20 > dev_info->default_txconf =3D (struct rte_eth_txconf) { > .tx_free_thresh =3D AVF_DEFAULT_TX_FREE_THRESH, > .tx_rs_thresh =3D AVF_DEFAULT_TX_RS_THRESH, > - .txq_flags =3D ETH_TXQ_FLAGS_NOMULTSEGS | > - ETH_TXQ_FLAGS_NOOFFLOADS, > + .offloads =3D 0, > }; >=20 > dev_info->rx_desc_lim =3D (struct rte_eth_desc_lim) { @@ -759,7 +759,7 > @@ static int avf_config_rx_queues_irqs(struct rte_eth_dev *dev, > /* Vlan stripping setting */ > if (mask & ETH_VLAN_STRIP_MASK) { > /* Enable or disable VLAN stripping */ > - if (dev_conf->rxmode.hw_vlan_strip) > + if (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_VLAN_STRIP) > err =3D avf_enable_vlan_strip(adapter); > else > err =3D avf_disable_vlan_strip(adapter); diff --git > a/drivers/net/avf/avf_rxtx.c b/drivers/net/avf/avf_rxtx.c index > d276d97..1824ed7 100644 > --- a/drivers/net/avf/avf_rxtx.c > +++ b/drivers/net/avf/avf_rxtx.c > @@ -109,7 +109,7 @@ > static inline bool > check_tx_vec_allow(struct avf_tx_queue *txq) { > - if ((txq->txq_flags & AVF_SIMPLE_FLAGS) =3D=3D AVF_SIMPLE_FLAGS && > + if (!(txq->offloads & AVF_NO_VECTOR_FLAGS) && > txq->rs_thresh >=3D AVF_VPMD_TX_MAX_BURST && > txq->rs_thresh <=3D AVF_VPMD_TX_MAX_FREE_BUF) { > PMD_INIT_LOG(DEBUG, "Vector tx can be enabled on this txq."); > @@ -474,7 +474,7 @@ > txq->free_thresh =3D tx_free_thresh; > txq->queue_id =3D queue_idx; > txq->port_id =3D dev->data->port_id; > - txq->txq_flags =3D tx_conf->txq_flags; > + txq->offloads =3D tx_conf->offloads; > txq->tx_deferred_start =3D tx_conf->tx_deferred_start; >=20 > /* Allocate software ring */ > @@ -1831,7 +1831,7 @@ >=20 > qinfo->conf.tx_free_thresh =3D txq->free_thresh; > qinfo->conf.tx_rs_thresh =3D txq->rs_thresh; > - qinfo->conf.txq_flags =3D txq->txq_flags; > + qinfo->conf.offloads =3D txq->offloads; > qinfo->conf.tx_deferred_start =3D txq->tx_deferred_start; } >=20 > diff --git a/drivers/net/avf/avf_rxtx.h b/drivers/net/avf/avf_rxtx.h inde= x > d1701cd..297d077 100644 > --- a/drivers/net/avf/avf_rxtx.h > +++ b/drivers/net/avf/avf_rxtx.h > @@ -22,8 +22,12 @@ > #define AVF_VPMD_DESCS_PER_LOOP 4 > #define AVF_VPMD_TX_MAX_FREE_BUF 64 >=20 > -#define AVF_SIMPLE_FLAGS ((uint32_t)ETH_TXQ_FLAGS_NOMULTSEGS | \ > - ETH_TXQ_FLAGS_NOOFFLOADS) > +#define AVF_NO_VECTOR_FLAGS ( \ > + DEV_TX_OFFLOAD_MULTI_SEGS | \ > + DEV_TX_OFFLOAD_VLAN_INSERT | \ > + DEV_TX_OFFLOAD_SCTP_CKSUM | \ > + DEV_TX_OFFLOAD_UDP_CKSUM | \ > + DEV_TX_OFFLOAD_TCP_CKSUM) >=20 > #define DEFAULT_TX_RS_THRESH 32 > #define DEFAULT_TX_FREE_THRESH 32 > @@ -125,7 +129,7 @@ struct avf_tx_queue { >=20 > uint16_t port_id; > uint16_t queue_id; > - uint32_t txq_flags; > + uint64_t offloads; > uint16_t next_dd; /* next to set RS, for VPMD */ > uint16_t next_rs; /* next to check DD, for VPMD */ >=20 > -- > 1.9.3 Acked-by: Beilei Xing