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 A1354A04B0; Sat, 29 Aug 2020 20:01:35 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0B68E1C116; Sat, 29 Aug 2020 20:01:35 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 731CB1C115 for ; Sat, 29 Aug 2020 20:01:33 +0200 (CEST) IronPort-SDR: UaoLk64GIdfegl58TgkzZH3vxnjzc5jVeAOjtI5+Rom2H9KjvQE012gGXQAcONQESnLeySA16z xkF6czIKuIQw== X-IronPort-AV: E=McAfee;i="6000,8403,9728"; a="144488787" X-IronPort-AV: E=Sophos;i="5.76,368,1592895600"; d="scan'208";a="144488787" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2020 11:01:31 -0700 IronPort-SDR: offcHLsleX5f23AzrIEKcu+otsMWTQHMyFFWcdWR8ylY61rDUcwlYRe0r/IdXzx6wkyFgFAroZ Uv1qznBfqpxQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,368,1592895600"; d="scan'208";a="501390721" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga005.fm.intel.com with ESMTP; 29 Aug 2020 11:01:30 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 29 Aug 2020 11:01:28 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Sat, 29 Aug 2020 11:01:28 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.173) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sat, 29 Aug 2020 11:01:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dEPYGiF7wjByG8oCB985+VWnZ/LqTfxFwzOnUJDJP84ZyDZh9zu9CD9JNlR8yZvasBpKRC8ht71kxPsNfvVa3j4H3yfVRWa0b9npKq/WLrdladT500kjpvrrScC9tkYM4Qk7JA4cMqi3WGJG5kWmeAtr97N46DsYVKVyvxvHsnUQPGbnx6oAwaH1tlBG4lYS/X3fqpHLzKiwcwXU6v4N55Tsuf5VRpZX+UUD0QroIBNmvkmwJRc2mzdQjGTina6OfnD8c+2Zzr2fPUJht5ihcavXFSSaql3bsGzaA+u0TDMdwFJPGGHa0SVhplGfPXkhYu5wYfRX+xquwnMkavcCZA== 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=w0GDIrJQQuOe1vtvTvsDA06VItu+4Tmst26xI0xn1Ho=; b=L4RDXpN4o/Ji0ZShEIgCrT6S2MjC992MIOn45JJYwKzjcXBmt9mf4LAiQ3Dm8hr70RoWxJBCz/oK0LWzk/JDwqUHto8gvMNdVOIzi3+263tQBOHzNg+2Yxx1x+DiUDtqaKH+pYD0rf+TNy24uiry++16v+zxBqJ8vkExBNfAHYzg4L5t22YbI8MIgAD1Bj2NfvZOv0ulEy37XlNAOpF1f0r8yPhPbGBw+SgJ6eFIjZbUdzdmHjsYjEfxiCSuBcCIRoIoicrxrvOq4aQWC2Z0Gp0KgPlxJK4TVUbGlFGpJ8ZvWC00o8fSCrBpHlsislep3LXfHGsypAjDUSGQZxgfRg== 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=w0GDIrJQQuOe1vtvTvsDA06VItu+4Tmst26xI0xn1Ho=; b=stch+0fpfOxQZIp/LQY2Y3ZMx+wsJevKX+zGkBEqcRQEmjrZ1FemDMq9Yh71h+OFVZc6+1jhTJ/dNA+yRWaR9vnohsGyGYC1MsJpv5pydZ7UkORTPEPUBTFrDpb4/BDzK/zCoP1FjU1b3djLipPGkbQ3qIukO7hqd5jWwruGEGk= Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BYAPR11MB2855.namprd11.prod.outlook.com (2603:10b6:a02:ca::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3326.23; Sat, 29 Aug 2020 18:01:26 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::4162:97e1:7d04:a508]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::4162:97e1:7d04:a508%7]) with mapi id 15.20.3326.023; Sat, 29 Aug 2020 18:01:26 +0000 From: "Chautru, Nicolas" To: "Xu, Rosen" , "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: AQHWffUQSHogcyPU9UmFEUkG57xYs6lPXjHA Date: Sat, 29 Aug 2020 18:01:26 +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-reaction: no-action dlp-version: 11.5.1.3 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: [45.28.143.88] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 3455d010-ce45-4fd0-279e-08d84c458c75 x-ms-traffictypediagnostic: BYAPR11MB2855: 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: 9sgIbcDbmU3cxnh6jlEgp/tHB8w0yFLjggYZbtWjTCrKCbPUSHbws9TlQp7i86YdgtPGl6fWB3I0AfyNjHhrkDfg4dyIdxZogm0X+2TQKBYATypsie2mVGGG6OIn3+wUhTohMYb1qugGEfCcEr3dy0rcUIW/ju29yH+y6NS/kGf/E5ZEVu7yDdYH/5BYr85Ysqulf4F0Hdq7sEa0uRYIBPejRHqCHC7CYoEpSTNlKbFspxtKpFVLxudEmtwAcu9sUaYliY3UadlgF6pi7CA92IaBeekp5C1OgHhdJd4VwH43dBJ5vE1rg33Qh7vfb/ECZ0T+4uOMMBv0GpdHaaXstQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BY5PR11MB4451.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(376002)(136003)(346002)(39860400002)(83380400001)(4326008)(26005)(7696005)(86362001)(71200400001)(33656002)(6506007)(53546011)(186003)(478600001)(9686003)(8936002)(316002)(76116006)(5660300002)(66476007)(2906002)(64756008)(66446008)(66556008)(66946007)(110136005)(55016002)(107886003)(52536014); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: GjOKf+3Y+zBddRodfhD2VVKFgBV60ZTljxeKGEF4tfDGUT1U2pj0mpbzNRjT/XZkyr+5IOiB/MVQtoLuEeEFtpPbG9zqKmIPjRrw7F13aBZrvkeJvXZPHLrQxoe6YL+B16gLZlCtO/FnRFEiewpl4P5y9+9OnPCt4GjmdkBPl101JbttkJ6ptRwIaTwpms1NdkLj63mvz3QYyPzNNB4VBprzQrLDRyWxG4tYenbicFbZCs9WBp2i1e3xwTuYkbbqQtjDrxSaFkoZEfs9OJwqJL9MznoSvyj8V9VcigqTlM9pUk6YFy/AzmgxRQp53UCq17REgnhkFeSMT06r/oPAqYaH6kl5HFIMADv9LuQLlMv0yInzd1FSD2sxk0h4HqrFebEb8i3buAn/ISqIIqHL5DpL+iPcp939rr3A5tPubbYdd3SLh7qRh+PaQP3mppLIKI2Sv6ib0iI7HmuGTG0dR3ert0JD4eIJOSIC7HvzhSKsJQu/aBZus/XCBf2MsKYBxhVp2EfrrNhGHXpGZJfn9n+RqAJ6SsLVg0lcE3ruDs6N2ea28pPc1xvGXeDgi67jrE8q04mE2bEa0+iKO5rMa0aGqW8tq26JE4A4z1Nc+YVKqCSRuhcKFARFi43HMaDI0BJ3uw6UW2LIAgXOB2DCgA== 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: BY5PR11MB4451.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3455d010-ce45-4fd0-279e-08d84c458c75 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Aug 2020 18:01:26.3718 (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: z9DiR23crlJJUfBxg49nEIqx7Y6j42Uxp0boY85o7m6sKNNioy1NQvZhxYv68tPEsGTCklVhFwMYWKEcpM4uwdsWRgVj6dxkqgaeL2oD/vs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2855 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 Rosen,=20 > From: Xu, Rosen >=20 > Hi, >=20 > > -----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 availa= ble > > @@ -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; > > +} >=20 > 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 the= mbuf? We cannot rely on the application providing mbuf with enough tailroo= m. 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.=20 Note that this function is also used in other existing bbdev PMDs. In case = you believe there is a better way to do this, we can certainly discuss and = change these in several PMDs through another serie.=20 Thanks for all the reviews and useful comments. Nic