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 A4BAAA04D7; Thu, 3 Sep 2020 04:34:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 100F21C0B0; Thu, 3 Sep 2020 04:34:36 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 8A9B61C0AF for ; Thu, 3 Sep 2020 04:34:34 +0200 (CEST) IronPort-SDR: Wnm7eJGQHJQUPlQkGAphWON+EgfJLeRLjEFXzYhDn6P3pOIEt2MScmVJ8T1aNxpMbmiQaPzClt kI66SCPDcNPw== X-IronPort-AV: E=McAfee;i="6000,8403,9732"; a="242327577" X-IronPort-AV: E=Sophos;i="5.76,384,1592895600"; d="scan'208";a="242327577" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2020 19:34:33 -0700 IronPort-SDR: rDIJBgliGapru8vkIwEUVb3vxul3dOP4uLVPW+87UodLC166iEgVofwHSI1tKEaYiPoE8yGUQ7 eYApKHrqGmwQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,384,1592895600"; d="scan'208";a="315318186" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by orsmga002.jf.intel.com with ESMTP; 02 Sep 2020 19:34:33 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 2 Sep 2020 19:34:32 -0700 Received: from orsmsx104.amr.corp.intel.com (10.22.225.131) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 2 Sep 2020 19:34:32 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by ORSMSX104.amr.corp.intel.com (10.22.225.131) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 2 Sep 2020 19:34:32 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 2 Sep 2020 19:34:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bZc40n0Fi24ZQYNslYnZd6e2DW+p4hQKAY3PCkCef1iCqcfwXTg+llfEd+lSfj9YssLaV1ZQReDxEQoXIpKOtRpwC5w3xzVr1Hc4GS/ngbwZUgHjqUvB6PEGfmuGmpnm/3nBZxAYC9l45Cf6yxZ+KjKmpS0D+H52TytYSo2lcBxHZ+8d/HFJWPpTDgWleYlym89hkUZ8r3+Nt/sFSNZHmkkA1rTCYNcxrfhEg4ibDaUoVadsrN0LiHDeu/GqjoMNT/tE1FEBWKCuDF+l+CuIiM3T42JZsvw4gO//sJfksEifmtGT/zQE6EQGWpf6u5FxM27RmCU9Ju+86VqgKpCQ1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GyNdsEIn1v7SPeQEF8Ri1bMUpu6rHtT0i7rFUylB3+U=; b=WG0AxU5LEyxBI0CeIMC+ak0jIpBX1/5+q+slpNIN3srLZwODt80qE2KXXpfT1Q0pOZY9/EMBsckUwh+BAId42PFD3bQu3WZcmkRcF88LUvEczuNnmVbt2C34wfnyvTL4l6h8zNz+4hrfjaCSCpU4+PySHMZO5PZkvBmpUNZTfDXMFpbQWURN4g2YTVsYt5isbb9A44b0OhNPPxtMx+U2mtb7vbUA4QsBw7EP0PmRhLYTjvS818tt6+jOKBjJ5DSk4lz7SulHW6Hhwg5/zFzP98eqgjqrCbuHEXQQE6dHAJ1v3K8XUR4BLeKOC2ediiEAlkK92UebttxVStSFB6f8zA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GyNdsEIn1v7SPeQEF8Ri1bMUpu6rHtT0i7rFUylB3+U=; b=SwAWc1Ri5dj50UcesgyLt3j7nkK67RSLkKlmpkZDyRWVKAsgqB/ZU34EcYVOFAxJ2IX/5hyzRP2fHICg/PzVKTFmpSer8rPuHN0J1Xh8OQaY9jEswbXFo8dh5cN2baDmBWB+/28dGtWvbHX4ubw34u1bfIyRacnJCObP89WDLQg= Received: from BYAPR11MB2901.namprd11.prod.outlook.com (2603:10b6:a03:91::23) by BYAPR11MB3477.namprd11.prod.outlook.com (2603:10b6:a03:7c::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3348.15; Thu, 3 Sep 2020 02:34:29 +0000 Received: from BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::515:a970:3fec:fb73]) by BYAPR11MB2901.namprd11.prod.outlook.com ([fe80::515:a970:3fec:fb73%6]) with mapi id 15.20.3326.025; Thu, 3 Sep 2020 02:34:29 +0000 From: "Xu, Rosen" To: "Chautru, Nicolas" , "dev@dpdk.org" , "akhil.goyal@nxp.com" CC: "Richardson, Bruce" Thread-Topic: [dpdk-dev] [PATCH v3 05/11] baseband/acc100: add LDPC processing functions Thread-Index: AQHWdb+9Nkaqcb+ZtkmQLS1NMvPZvKlO9drAgAB7eQCABtexkA== Date: Thu, 3 Sep 2020 02:34:28 +0000 Message-ID: References: <1597796731-57841-1-git-send-email-nicolas.chautru@intel.com> <1597796731-57841-6-git-send-email-nicolas.chautru@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.5.1.3 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZTAzYjEyNTctZWRmZi00MTIyLWFjYjItMWE2YjUxZTZiMWY1IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoicTNXc2o1Q0tEOUhKbWhOcllIS2tTOTZ6Z2N0ajJabURDZ2tXTnNHMlVuODh1dFZZSTFuTmhsVGhjRWc1MWZHZCJ9 x-ctpclassification: CTP_NT authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.200] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 2fbe1630-f73e-4ae4-10dd-08d84fb1e1ea x-ms-traffictypediagnostic: BYAPR11MB3477: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Cmc2MoKHoT8MS8LV66oxqZRsmgAjOuPH0+DUKWOavwLbqz0Gm8q6hp0qlF9LoXNN45RCvl+IuAt171X/zQq0P4Sy4C1Fr3wMwBG2cOHMkJh88yZqWNGMBUXSNpeNoL1+zWbP75PgR1Akk5x98En3oDLN0JMXN1En/1OeAjyhJYhqCxdbfWEwmK2iSFtXJ9Npi1iSnqXKhm0OD38LN52Ac39cUEqkDV9BsPNHOqkRaBBBKW1Rj9S5kEk6rk9FQAXn5O87siOfIGiO4m+h+HeK4MjaB2rAXH5UTJzEJD6Wvwp2f8yztJQULJiK7wjjS6PAiGdLqGD/Udwgd4nTu3RAFw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB2901.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(396003)(136003)(376002)(366004)(346002)(55016002)(52536014)(86362001)(9686003)(33656002)(71200400001)(83380400001)(316002)(26005)(4326008)(7696005)(186003)(110136005)(66446008)(64756008)(66476007)(66556008)(76116006)(5660300002)(66946007)(478600001)(8936002)(107886003)(2906002)(53546011)(6506007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 2WL5KkGPX2rf887gZzv02Hbyi0LZtP/SRRjmKgGVQdPdTLV5g4j3BmR9WW4KPqCpSl+Qsv3k8qf6rtMeAGroD8ZJxoq7o77xklWdGeDaRsd16mYnTcsCmReot3GzEIq9voWuxDi4tQ7e/JQ2xzAlC1Ix9YgwZuRIAk8IS2K36UZvB7WTw1g69s/GRGX2isM+qlJmqbj17Ew3JrDKIFRZDMnzAzcaDGZGsaZqdIyDqCdRbBk7obBx3FifaIHnnTkNJbGleiwQH6BbdN4G1HfqJDeIsAH6HjsptMI31mNqzWlhQlCZkn/fl86SjV0QMYzb3vXsZvQtyM4EhTwNUg1h/2xVAkTC/rfVhL9gSm/+ACiwvIes3woGeP8NtAIBI28+LqfeeJh7qIYnny0pqFpCsZz8Kd+AszZDpeqE4VV59tOO7eAbH9VwVTU3fRiXSasA5riT0/QF1BgrEEvxVKt1Etdi9gprZ+F3+SkE2nKwqOewyYJMA9+blzyKfWbaee15CU/KUwj13E381Ps+o38uR4H41KkCVTFtPID5VfYnSjgtr22gAWveiToJjYP9/wvScQkkRHDk2CR61dxf0ieAkNjkpG/9iNyRdeNlAHkq3duzNFJNGn5AWR7qrW2KbPmixdBjdHqcqcN/s06EHoJhlw== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR11MB2901.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2fbe1630-f73e-4ae4-10dd-08d84fb1e1ea X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Sep 2020 02:34:28.9175 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Wbeq1114ZGOyneDp0Ix2YAhkxS9KXPTTIfQWsPFlGLsJuLx9DRMxvwI//zYAvDvW/EGL27c3NDvifDpGFNiW3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3477 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3 05/11] baseband/acc100: add LDPC processing functions 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" Hi, > -----Original Message----- > From: Chautru, Nicolas > Sent: Sunday, August 30, 2020 2:01 > To: Xu, Rosen ; dev@dpdk.org; akhil.goyal@nxp.com > Cc: Richardson, Bruce > Subject: RE: [dpdk-dev] [PATCH v3 05/11] baseband/acc100: add LDPC > processing functions >=20 > Hi Rosen, >=20 > > From: Xu, Rosen > > > > Hi, > > > > > -----Original Message----- > > > From: dev On Behalf Of Nicolas Chautru > > > Sent: Wednesday, August 19, 2020 8:25 > > > To: dev@dpdk.org; akhil.goyal@nxp.com > > > Cc: Richardson, Bruce ; Chautru, Nicolas > > > > > > Subject: [dpdk-dev] [PATCH v3 05/11] baseband/acc100: add LDPC > > > processing functions > > > > > > Adding LDPC decode and encode processing operations > > > > > > Signed-off-by: Nicolas Chautru > > > --- > > > drivers/baseband/acc100/rte_acc100_pmd.c | 1625 > > > +++++++++++++++++++++++++++++- > > > drivers/baseband/acc100/rte_acc100_pmd.h | 3 + > > > 2 files changed, 1626 insertions(+), 2 deletions(-) > > > > > > diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c > > > b/drivers/baseband/acc100/rte_acc100_pmd.c > > > index 7a21c57..5f32813 100644 > > > --- a/drivers/baseband/acc100/rte_acc100_pmd.c > > > +++ b/drivers/baseband/acc100/rte_acc100_pmd.c > > > @@ -15,6 +15,9 @@ > > > #include > > > #include > > > #include > > > +#ifdef RTE_BBDEV_OFFLOAD_COST > > > +#include > > > +#endif > > > > > > #include > > > #include > > > @@ -449,7 +452,6 @@ > > > return 0; > > > } > > > > > > - > > > /** > > > * Report a ACC100 queue index which is free > > > * Return 0 to 16k for a valid queue_idx or -1 when no queue is > > > available @@ -634,6 +636,46 @@ > > > struct acc100_device *d =3D dev->data->dev_private; > > > > > > static const struct rte_bbdev_op_cap bbdev_capabilities[] =3D { > > > + { > > > + .type =3D RTE_BBDEV_OP_LDPC_ENC, > > > + .cap.ldpc_enc =3D { > > > + .capability_flags =3D > > > + RTE_BBDEV_LDPC_RATE_MATCH | > > > + RTE_BBDEV_LDPC_CRC_24B_ATTACH > > > | > > > + > > > RTE_BBDEV_LDPC_INTERLEAVER_BYPASS, > > > + .num_buffers_src =3D > > > + > > > RTE_BBDEV_LDPC_MAX_CODE_BLOCKS, > > > + .num_buffers_dst =3D > > > + > > > RTE_BBDEV_LDPC_MAX_CODE_BLOCKS, > > > + } > > > + }, > > > + { > > > + .type =3D RTE_BBDEV_OP_LDPC_DEC, > > > + .cap.ldpc_dec =3D { > > > + .capability_flags =3D > > > + RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK | > > > + RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP | > > > + > > > RTE_BBDEV_LDPC_HQ_COMBINE_IN_ENABLE | > > > + > > > RTE_BBDEV_LDPC_HQ_COMBINE_OUT_ENABLE | > > > +#ifdef ACC100_EXT_MEM > > > + > > > RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_IN_ENABLE | > > > + > > > RTE_BBDEV_LDPC_INTERNAL_HARQ_MEMORY_OUT_ENABLE | > > > +#endif > > > + > > > RTE_BBDEV_LDPC_ITERATION_STOP_ENABLE | > > > + RTE_BBDEV_LDPC_DEINTERLEAVER_BYPASS > > > | > > > + RTE_BBDEV_LDPC_DECODE_BYPASS | > > > + RTE_BBDEV_LDPC_DEC_SCATTER_GATHER | > > > + > > > RTE_BBDEV_LDPC_HARQ_6BIT_COMPRESSION | > > > + RTE_BBDEV_LDPC_LLR_COMPRESSION, > > > + .llr_size =3D 8, > > > + .llr_decimals =3D 1, > > > + .num_buffers_src =3D > > > + > > > RTE_BBDEV_LDPC_MAX_CODE_BLOCKS, > > > + .num_buffers_hard_out =3D > > > + > > > RTE_BBDEV_LDPC_MAX_CODE_BLOCKS, > > > + .num_buffers_soft_out =3D 0, > > > + } > > > + }, > > > RTE_BBDEV_END_OF_CAPABILITIES_LIST() > > > }; > > > > > > @@ -669,9 +711,14 @@ > > > dev_info->cpu_flag_reqs =3D NULL; > > > dev_info->min_alignment =3D 64; > > > dev_info->capabilities =3D bbdev_capabilities; > > > +#ifdef ACC100_EXT_MEM > > > dev_info->harq_buffer_size =3D d->ddr_size; > > > +#else > > > + dev_info->harq_buffer_size =3D 0; > > > +#endif > > > } > > > > > > + > > > static const struct rte_bbdev_ops acc100_bbdev_ops =3D { > > > .setup_queues =3D acc100_setup_queues, > > > .close =3D acc100_dev_close, > > > @@ -696,6 +743,1577 @@ > > > {.device_id =3D 0}, > > > }; > > > > > > +/* Read flag value 0/1 from bitmap */ static inline bool > > > +check_bit(uint32_t bitmap, uint32_t bitmask) { > > > + return bitmap & bitmask; > > > +} > > > + > > > +static inline char * > > > +mbuf_append(struct rte_mbuf *m_head, struct rte_mbuf *m, uint16_t > > > +len) { > > > + if (unlikely(len > rte_pktmbuf_tailroom(m))) > > > + return NULL; > > > + > > > + char *tail =3D (char *)m->buf_addr + m->data_off + m->data_len; > > > + m->data_len =3D (uint16_t)(m->data_len + len); > > > + m_head->pkt_len =3D (m_head->pkt_len + len); > > > + return tail; > > > +} > > > > Is it reasonable to direct add data_len of rte_mbuf? > > >=20 > Do you suggest to add directly without checking there is enough room in t= he > mbuf? We cannot rely on the application providing mbuf with enough > tailroom. What I mentioned is this changes about mbuf should move to librte_mbuf. And it's better to align Olivier Matz. > In case you ask about the 2 mbufs, this is because this function is used = to also > support segmented memory made of multiple mbufs segments. > Note that this function is also used in other existing bbdev PMDs. In cas= e you > believe there is a better way to do this, we can certainly discuss and ch= ange > these in several PMDs through another serie. >=20 > Thanks for all the reviews and useful comments. > Nic