From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1998EA0C4D; Wed, 6 Oct 2021 22:24:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8FA544067A; Wed, 6 Oct 2021 22:24:11 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 57D8A40140 for ; Wed, 6 Oct 2021 22:24:08 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10129"; a="206907171" X-IronPort-AV: E=Sophos;i="5.85,352,1624345200"; d="scan'208";a="206907171" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Oct 2021 13:24:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,352,1624345200"; d="scan'208";a="624015475" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by fmsmga001.fm.intel.com with ESMTP; 06 Oct 2021 13:24:07 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Wed, 6 Oct 2021 13:24:07 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2242.12 via Frontend Transport; Wed, 6 Oct 2021 13:24:07 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.45) 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.2242.12; Wed, 6 Oct 2021 13:24:06 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oYDEEju2j+Gbb25hKcTI7G/QsSz6t/Bm/ZDIuwpHU2CjpWN8iY5g98I/QokZwrxpzQ0w/FkskI4WD1TZWQLEVEDC50+2nwGwMWu9s8X7jPP6FgS8xDy+L1tg3w/PBiW7tgi2/3HfDAKUCk/dIPTg5wgGfzCRB/fYE+rCUlkUQgmZQYc+/XybY8HxMQ64N6KeF7GmKzbMSm2lqfAuhllB0O+ke8VNg5uQLOJfQFtH484d+NLaHVbnBY3NR0mPA7gVhDvjoVd/grvubx+ftzUPaepyq4/5HmlkKCKRwYtEy92b7bm9rXpRjCslYji5VZ2IlEP7CUNf71QCCCyDxAAHDg== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hzqlUEmzOO2URgS+0QcI67XRMbC0m7c7ICd7//LmGlA=; b=X9ExEv1JjxozD9AQDZVuQTX0DA/hcrpliVSbthQxmnjL4fzyr1vwwg+U2VliHWM+Br0W3Kbl6HNDP2sSqJZ+omTEJBE/7w2jQSei3Zqf6Is3Oz2Mh6KA+Vdli6qOCCJLNg1xqOjY9uTDjRUNnlFVYYl6biCN6FRzEsOFFrawk8xmQQjNQYCFUuSuNRoBewQ9zV0rzXw0uLYmI4zJ1Usbwj1ti4nULq8occJvA0f64tGroZ4ADjHZKUhgjH9s9EQN10zT4sLoyWf6O5+HRdbf4sRy/bSQyQ9WSqPU6DzO9sFiCdmidkJovudURpOr28BGjYbzBSYiJsumoQJr7lHvyg== 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=hzqlUEmzOO2URgS+0QcI67XRMbC0m7c7ICd7//LmGlA=; b=Eb5BBV6PFlt3u1LfWAKHWMxu7R/+VWWZiMW97jYMJyoSWGhLf/FaZRCG7LGcG5qUnxcUOfKrsVcdVo9y9hyQtxTSTL6PfMc+995C9UpWg1YZ5KtjVlze44sNlhELoO7XIsSgGymFcopiNfeFz7/YO2isYjN3nuOdBAS87oQdRJs= Received: from BY5PR11MB4451.namprd11.prod.outlook.com (2603:10b6:a03:1cb::30) by BYAPR11MB3207.namprd11.prod.outlook.com (2603:10b6:a03:7c::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18; Wed, 6 Oct 2021 20:24:05 +0000 Received: from BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::d2d:4882:88be:85bd]) by BY5PR11MB4451.namprd11.prod.outlook.com ([fe80::d2d:4882:88be:85bd%7]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 20:24:05 +0000 From: "Chautru, Nicolas" To: "nipun.gupta@nxp.com" , "dev@dpdk.org" , "gakhil@marvell.com" CC: "david.marchand@redhat.com" , "hemant.agrawal@nxp.com" Thread-Topic: [PATCH v8 8/8] app/bbdev: handle endianness of test data Thread-Index: AQHXuqW4ZcuvIJnga0uTGi+0/E6YbavGZ5gA Date: Wed, 6 Oct 2021 20:24:04 +0000 Message-ID: References: <20210318063421.14895-1-hemant.agrawal@nxp.com> <20211006113112.11163-1-nipun.gupta@nxp.com> <20211006113112.11163-9-nipun.gupta@nxp.com> In-Reply-To: <20211006113112.11163-9-nipun.gupta@nxp.com> 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.6.200.16 authentication-results: nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0c64e7b6-a163-4721-280c-08d989073e2c x-ms-traffictypediagnostic: BYAPR11MB3207: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 7qs/xBpOTu8dF7n+5JZfcrFH6HimxA3zCYREji6tpkJG6O2ROExPNJiP6jlrAgAKSSp4h3u7I3aReeeFrzZVMw5/CZ7TJC4sZg71qn5NC8zQaJO2Eql/JwpQP6qB7FCtRd7kTSSaONBzJQK+FMT/GoIGnCZ4vbXSpOWhqaQj4P6x96f+Yuwkcu9c8w+s3zpN26YP6rareKOfN312ORhlXVEMwgRTcNulXoY02kNOIWZo8eUU0+gUKUd5Yu773m+sG5l+kdg2Y6SFjITDMebkph1c9cE/lwBJvEVAEyDWIOlSadBa+zFR+QuSS3qBfKFiRf13stMK8+A/k7QZS1KzDUooW9IeWB6dxtN5a0U/aidluKf94bMyQKC5m/WeRID9aEDL7qUDflLRLAxsZq0kQSm4gG6J7pwDyFM08NF02sMMDxTmq3YJq5CqoRhoRDwK1PQJ01thmLCFNdhDpPlB83sEY94nhQNJnVTQr2nDyRTEDU6YhF0dfr6gQrpdJ2cVYt86evytURsEf2+VL0ToW+3AGUhUnd67zKG1Fuuk/rX6F07g8U9pOJD/wu6W7VqPXv7oQPi42y6k6cM6Tn1xXXjol9fyxlPNPDwcxbNIEvTnHS8U7DHEBBjq8SmbklkgPEE4YJUrWgjemKKvFeIKTL3z5ZhKT8KMBuVJVGkyqTKmfC6vLFpoSxL2wPjotZaU+KUIPbqho1d9ucy9WdZJmA== 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)(366004)(38070700005)(86362001)(110136005)(5660300002)(6506007)(54906003)(53546011)(26005)(186003)(316002)(122000001)(52536014)(9686003)(38100700002)(33656002)(7696005)(4326008)(71200400001)(2906002)(83380400001)(55016002)(66946007)(8676002)(66476007)(64756008)(508600001)(66446008)(66556008)(8936002)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?s+XTZJXM/TxftXNh+06Zif8pPdPdbmwe46HrZpCnmsGROZ5nrE0m2bTXEdfJ?= =?us-ascii?Q?HvssZNCVJntEkhFo3rQvzOaqHYq73odl5E4SAto8mU16LbnQCJDPIqA73VZk?= =?us-ascii?Q?TH+CPz6bPQhFcN+UKfLor/0oeJaIK/9MvmgAGGP43sAnOyRo3U7Xt3+iq/ff?= =?us-ascii?Q?XNF353cSg+LjMg4iuM1KVwxr3iJ3gYWCtwDXyDolG/EXvF9SApsncFCS3ZII?= =?us-ascii?Q?yW7uz5+VkOXT2Ts0uZLP1YDH9BlW391HXqAUUcNGe90+GGCeXIRFEytrCDwG?= =?us-ascii?Q?cy3q7eC4S8l/zjwJkK3y7B0PRXdisnoLQtmTgdhLJ/WmW4A3+J5/oTQcwjPI?= =?us-ascii?Q?t1aHF8EC4KIOJPHV95juMOZ5FlWMkulPZGpHYbjhd0Xu8ziZjJNVZ3d+WTLQ?= =?us-ascii?Q?dXQX5ko7yvGQb11VREa8Pvl8jdw38cA5RFY67ObcAf5qq9sONXpuqVAPXroi?= =?us-ascii?Q?351ktHxeD3RAUI5kiNP5BWTJyEBZkecXfu0bFXbTf9JP6ag6Mt2r7Y50j/NS?= =?us-ascii?Q?pkWRRWDUkVe0VgvWjfiZ9dwhem1NpvqNvFTOyKLynIj/A6wNU7mZF6t2UoAD?= =?us-ascii?Q?7Iqgeb2p+2rtRS81sWFv34+72YrmxhARvUtJzBwBuqVzWg/BAjo/mtp1doay?= =?us-ascii?Q?2yHovanqxPeklDMpyzUcT2eSiAPwA+WchzH5FOlo164Qm74Gf17Zy78ynusQ?= =?us-ascii?Q?cJkOgrr/pzvRPnZmfKpb7hih18Ct24z7ZSq5hr6Awzmf0AU6K82pqf6MDTQV?= =?us-ascii?Q?34BPU/Acg6DIvprVu7404wKIOLITPHSsSW9dSmj2bc65oGl/fP/jUbg+B/Q5?= =?us-ascii?Q?Tuer4kTwTgVuCPjG2hkNamcEE2H72ReyEMeA8ZC3odY7g+s/G6Z/pTxgSVih?= =?us-ascii?Q?VPmKLzbPoqeLbjER6ANJot1H7KJ2AdJNaMGX1iKqYJ0JxyK3S4KaKjBQDDUd?= =?us-ascii?Q?oIttQpQbsXbYXtq9Yv0JevBroML+4o98YR0OjGn6T+E4dbph7kVuhTteD1uE?= =?us-ascii?Q?rVx7pNMBvnKefDC8+PXPNYgA7v8WYnLgoTNWiI5ElBwvSwkwDSqFfEP+7R2R?= =?us-ascii?Q?c454qMJdfwtN20Bt9jJTLCwivzx41I3xzl2uU5OrRwYcrryv7NZWlcoatEtB?= =?us-ascii?Q?vYw1Blgnkg6cU9CF0LEtqbZ8c+tnTWXY47uJ2k5PxSSM9u00lsdg9/xsr6mN?= =?us-ascii?Q?EhURr4r/GCSJzsI5yjYmGzHnZbFougNwwQSqJsiDUaIFBOQPiIE5iXF81mV+?= =?us-ascii?Q?UlBGABSyidk8l/V4F/BD/UT/0euNiSVnKPNQ75SPpO76QazVDsCcyEBgKZoS?= =?us-ascii?Q?2f8Xqd3Y+S/YEV1xprTtzRR0?= x-ms-exchange-transport-forked: True 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: 0c64e7b6-a163-4721-280c-08d989073e2c X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 20:24:04.8974 (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: SgkaMexik0uY1g4fd/2n2246GoK6mTSlyoofG4i3DPJWL6CEptHduaSvVGAxLgLhdA8TQfyZfMRQOYL5sKRZ+s+B8Cgq4uAc49J9Tv3WGGI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3207 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v8 8/8] app/bbdev: handle endianness of test data X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" > -----Original Message----- > From: nipun.gupta@nxp.com > Sent: Wednesday, October 6, 2021 4:31 AM > To: dev@dpdk.org; gakhil@marvell.com; Chautru, Nicolas > > Cc: david.marchand@redhat.com; hemant.agrawal@nxp.com; Nipun Gupta > > Subject: [PATCH v8 8/8] app/bbdev: handle endianness of test data >=20 > From: Nipun Gupta >=20 > With data input, output and harq also supported in big endian format, thi= s > patch updates the testbbdev application to handle the endianness > conversion as directed by the the driver being used. >=20 > If the driver supports big endian data processing, conversion from little > endian to big is handled by the testbbdev application. >=20 > Signed-off-by: Nipun Gupta > --- > app/test-bbdev/test_bbdev_perf.c | 43 > ++++++++++++++++++++++++++++++++ > 1 file changed, 43 insertions(+) >=20 > diff --git a/app/test-bbdev/test_bbdev_perf.c b/app/test- > bbdev/test_bbdev_perf.c > index 469597b8b3..597c443596 100644 > --- a/app/test-bbdev/test_bbdev_perf.c > +++ b/app/test-bbdev/test_bbdev_perf.c > @@ -227,6 +227,45 @@ clear_soft_out_cap(uint32_t *op_flags) > *op_flags &=3D ~RTE_BBDEV_TURBO_NEG_LLR_1_BIT_SOFT_OUT; > } >=20 > +/* This API is to convert all the test vector op data entries > + * to big endian format. It is used when the device supports > + * the input in the big endian format. > + */ > +static inline void > +convert_op_data_to_be(void) > +{ > + struct op_data_entries *op; > + enum op_data_type type; > + uint8_t nb_segs, *rem_data, temp; > + uint32_t *data, len; > + int complete, rem, i, j; > + > + for (type =3D DATA_INPUT; type < DATA_NUM_TYPES; ++type) { > + nb_segs =3D test_vector.entries[DATA_INPUT].nb_segments; Is there a typo here? Shouldn't it be instead: nb_segs =3D test_vector.entries[type].nb_segments; Also as part of that same commit, please put a comment in the doc that the = bbdev-test is adjusting the byte endianness based on the PMD capability and= confirming that all vectors input/ouput data are assuming LE by default. = ./doc/guides/tool/testbbdev.rst > + op =3D &test_vector.entries[type]; > + > + /* Invert byte endianness for all the segments */ > + for (i =3D 0; i < nb_segs; ++i) { > + len =3D op->segments[i].length; > + data =3D op->segments[i].addr; > + > + /* Swap complete u32 bytes */ > + complete =3D len / 4; > + for (j =3D 0; j < complete; j++) > + data[j] =3D rte_bswap32(data[j]); > + > + /* Swap any remaining bytes */ > + rem =3D len % 4; > + rem_data =3D (uint8_t *)&data[j]; > + for (j =3D 0; j < rem/2; j++) { > + temp =3D rem_data[j]; > + rem_data[j] =3D rem_data[rem - j - 1]; > + rem_data[rem - j - 1] =3D temp; > + } > + } > + } > +} > + > static int > check_dev_cap(const struct rte_bbdev_info *dev_info) { @@ -234,6 +273,7 > @@ check_dev_cap(const struct rte_bbdev_info *dev_info) > unsigned int nb_inputs, nb_soft_outputs, nb_hard_outputs, > nb_harq_inputs, nb_harq_outputs; > const struct rte_bbdev_op_cap *op_cap =3D dev_info- > >drv.capabilities; > + uint8_t dev_be_input =3D dev_info->drv.support_be_data; >=20 > nb_inputs =3D test_vector.entries[DATA_INPUT].nb_segments; > nb_soft_outputs =3D > test_vector.entries[DATA_SOFT_OUTPUT].nb_segments; > @@ -245,6 +285,9 @@ check_dev_cap(const struct rte_bbdev_info > *dev_info) > if (op_cap->type !=3D test_vector.op_type) > continue; >=20 > + if (dev_be_input) > + convert_op_data_to_be(); > + > if (op_cap->type =3D=3D RTE_BBDEV_OP_TURBO_DEC) { > const struct rte_bbdev_op_cap_turbo_dec *cap =3D > &op_cap->cap.turbo_dec; > -- > 2.17.1