From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <nipun.gupta@nxp.com>
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on0080.outbound.protection.outlook.com [104.47.36.80])
 by dpdk.org (Postfix) with ESMTP id 012BB7CD8
 for <dev@dpdk.org>; Thu, 29 Jun 2017 12:29:18 +0200 (CEST)
Received: from DM5PR03CA0053.namprd03.prod.outlook.com (10.174.189.170) by
 MWHPR03MB3166.namprd03.prod.outlook.com (10.174.174.35) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id
 15.1.1199.15; Thu, 29 Jun 2017 10:29:17 +0000
Received: from BN1BFFO11FD036.protection.gbl (2a01:111:f400:7c10::1:195) by
 DM5PR03CA0053.outlook.office365.com (2603:10b6:4:3b::42) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id
 15.1.1178.14 via Frontend Transport; Thu, 29 Jun 2017 10:29:17 +0000
Authentication-Results: spf=fail (sender IP is 192.88.168.50)
 smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)
 header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com;
Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not
 designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; 
 client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net;
Received: from tx30smr01.am.freescale.net (192.88.168.50) by
 BN1BFFO11FD036.mail.protection.outlook.com (10.58.144.99) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1199.9
 via Frontend Transport; Thu, 29 Jun 2017 10:29:16 +0000
Received: from b27504-OptiPlex-790.ap.freescale.net
 (b27504-OptiPlex-790.ap.freescale.net [10.232.132.60])
 by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v5TASSbQ002766;
 Thu, 29 Jun 2017 03:29:13 -0700
From: Nipun Gupta <nipun.gupta@nxp.com>
To: <dev@dpdk.org>
CC: <hemant.agrawal@nxp.com>, <jerin.jacob@caviumnetworks.com>,
 <harry.van.haaren@intel.com>, <bruce.richardson@intel.com>,
 <gage.eads@intel.com>, <shreyansh.jain@nxp.com>, Nipun Gupta
 <nipun.gupta@nxp.com>
Date: Thu, 29 Jun 2017 15:57:58 +0530
Message-ID: <1498732085-18449-15-git-send-email-nipun.gupta@nxp.com>
X-Mailer: git-send-email 1.9.1
In-Reply-To: <1498732085-18449-1-git-send-email-nipun.gupta@nxp.com>
References: <1495735361-4840-1-git-send-email-nipun.gupta@nxp.com>
 <1498732085-18449-1-git-send-email-nipun.gupta@nxp.com>
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131432057566886868;
 (91ab9b29-cfa4-454e-5278-08d120cd25b8); ()
X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(6009001)(336005)(39410400002)(39840400002)(39850400002)(39450400003)(39400400002)(39860400002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(8656002)(6666003)(8936002)(356003)(38730400002)(110136004)(106466001)(54906002)(105606002)(498600001)(2906002)(2950100002)(85426001)(97736004)(6916009)(47776003)(104016004)(77096006)(5660300001)(86362001)(81166006)(5003940100001)(50226002)(8676002)(305945005)(76176999)(53936002)(36756003)(48376002)(50466002)(189998001)(50986999)(2351001)(4326008)(33646002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB3166; H:tx30smr01.am.freescale.net;
 FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; 
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1BFFO11FD036;
 1:x5IAGK7sZsric/6dIvhWezZrWYxpmNxuCvI0iZiO1?=
 =?us-ascii?Q?JrYqbEiTZ2fY9/JStpX3inU9WXPf5aE8ATgTN6di+0lUyFzosCxDx0Gp6zgQ?=
 =?us-ascii?Q?o84motNc/ev4qCew6gB46waba8nvgkpR+nfqLL5t8EXjEKIZWeC5FOfV3tJ9?=
 =?us-ascii?Q?8rX8p/VHo3Wkkp9JVR59ZO4OoIDqksnvoVgKavU+5KQUZWKtnqYQ5Q0F3qCE?=
 =?us-ascii?Q?6N9sYfAWBB1M/euvxpEUiWD+2iJUIag9oWR5QdzbIS6yeyt5XhDHS7gfh8Ey?=
 =?us-ascii?Q?pFH5v7tVqVLkVa2CLxbGtR8RVPTi+wMXKAEnzb+2z/rdz11Era6AZDhlWojG?=
 =?us-ascii?Q?Gt2SOyST2cE8PuLx3NjbuKRT4p6n5YWdP0f/c0dUclfljMe9GEbz21RivSKV?=
 =?us-ascii?Q?bvAemOD+Tz6b7mKO/y8OqepdbSVH8IPvJeMfFoo1/NLeWD16hp9iH/u9ST68?=
 =?us-ascii?Q?8URIfA4T6gsAHgBcKkoKVGgFi34FrG0yb/5LhWTLCuv1sAdd3HnfG2WIig2b?=
 =?us-ascii?Q?5UFsQAKSn18HbcuuhF6Tbd6+wtkJIy38jbkyveYiNGRz8niFb1FCEPkwzuES?=
 =?us-ascii?Q?dZBc1+KifGbncI0ZPWnz7z36nXId7drhngwREzl4mSLFQxPNko8TPngebedb?=
 =?us-ascii?Q?gUHyJj39t59R7vVyjCsT6EgHZ8DH09vCqdX4DrNIUp+U9Qq/R5cFmrG5WIm2?=
 =?us-ascii?Q?6QBTAxnyaC8rAcai0R5u3v2QXhZWkxJmsHTHYCWhCg0QJIrdGe7fUxRkDSHK?=
 =?us-ascii?Q?Mj9dFSpgvSXwlauFWp2rDaOIYAlegDk9KsmOCjKxh8nFmNRTDVp9p/88uf9P?=
 =?us-ascii?Q?jBr6b9dJOyFdPpnAg4qVCBZqCMalZbunrQQUgPKrdIQ566cnUCUSiHZoaf3A?=
 =?us-ascii?Q?DI98KFTW8Qo/Mi9pbn+bcLhc6vMzOf+NFKAyFiePnMxKtOl4XB9gxl3ZJJKj?=
 =?us-ascii?Q?SbGLPj6mp9gYVM/BshLfeg5811DROnUyFBrolPCOmD/RZ7MfsP+745BMaNVQ?=
 =?us-ascii?Q?PGX0hzL4sdlgysG2s/k4++YhMMN90q8G7JtkkcZa0Z+awTujDOclBFYwHwCi?=
 =?us-ascii?Q?QRMn0lMPQNvrzeEZxPL8gAPnNBNDBDze5oHz75pgBExlDkGnw=3D=3D?=
MIME-Version: 1.0
Content-Type: text/plain
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3488bfeb-402e-4124-1a74-08d4bed9b1d4
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);
 SRVR:MWHPR03MB3166; 
X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3166;
 3:856krLpo49mSdEy6Q9Pe0R09v5LvkixcHtC9G7oTVYaE5qe4Zr0GDNjSdlPBBCiOBLIAPA+C98pCSZOE5O3eIx08MYaFuT2QeCLB0o4Trj0zZlKU7Hxh7JNCtgzTL6dNWjDRK1Oy34PUalYgKbvPKDc8lNOThu7Iecdoe3Exf0XWuVPLnikCcB4WrkOSOujynaMrLIqiWj4al5dI6hYC4B1/THDJLrqWAfDZ+/UApDcak2GlEF6u3Vi0zeoh1FAmRET/WcQW1NU9i1nSWlLcXW2bdEkw80mr7NMBkSb+LugV2gTqFFlibCVzooFoJVH5iD3jXm8EcKOZv2e/gU2JB8DszAEPcMy79tSn6rHxaMMp+X7vld9ab3Z448x54Wd3MkGFjh3AyLZHaFYelLiUIZZedeuzeeRjHQcUyZfe8wLxWupzlaqNTOLsxLg+CQGkP5gbBraPAIkepIs7BSqZaN6ZYyKOsUB16H1BTpYqu65z0ryciacWox6a27SWl2fRJAQns8ON8Y/OmJbEV3KzTsuOv4utsufcFCwPB7U2uuHGW/XDk8Vl8XKXR2x74ygeZUlB19C8EawbLBr20Wilzts3vKCshXs3vi5wM7R83Sbbi9l+w4M6a1qjXLIonL0ghnN5uF2O+9eQ8pENVEpG5urZGEQEUhUFS9qCABFsS5+ConSYXuNAGJZbVdr9i3ZfFNlbUzlA0vYF7NFJpcUuZOGg8taYKzFJQzByNEQkaBcZJzMBJVTeWrx9BdkdCkJVe9wB2zGurX3TEjlwuGQm0XeBlyhlLGIEtEKDflwoOPrFdm/aIpaosED+zv7TuhK3ZYufEnIo7IXpwn6GLbjk6g==
X-MS-TrafficTypeDiagnostic: MWHPR03MB3166:
X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3166;
 25:xMudQ/jDO+r1hGTHx2m41n51XQWf2oHW+8ezxcbEy9S73T+VzP1O4lf1zfdgi5K43GJopB7U14fbK5rrw8p08RvvTti8ffH4dsX6WHntySg3whFU/JfL4eQNXI0BkZKZ5NuzqH7geNHzk4hBf8L+SbTDLAW+1ihwFxn7WGlBesfwjjCEqYIS16Nx/2VeqdtwkRbFW5k0H7U43//2uSYNWfV7vDKjblUZtxDVoUPyTYTETnVDYt09xbg3Iy8S2kIQMn96R7R/IVK9Q0CYlgJAPLK33St07Z8MpYlJ9P04SlQ4zUQqwMycXiTIwyrQuyeYMZ7BoJqvZx0z+jTfuAMIPfRICpxGXMOgaOidA7qS/HzKdIlFvWd0UmdNS6B+Wi8rp/6rfoRk3oNFDb3N/u9lby1ok6oXJehZd6nQYEAsJS2xm/p6l/DV9GGWEeBNuSGepTCPkMi8ZjoteJiZVz0xQj62Ei4qogbIWOK9To9vDMGVX4uMh+LW+RcWuftf0agllRExPqW7D9uAE2Q2ohdxDk6fGjxwAPAqFcCx1PVkoX22hNETkJCIWGLzsSC2HAAx2yAc5jXL6xtYp3TfXH2/e/7qbUNGKmtafHJl5HDQEKftMTfvnrbLCwYuTDScNgcAExSxECFSl7q34mAjNwAC/9uwPwqf9LhkSD3dXaRRDNmx5VyQSGoP9Ey6EoJj+Vv3xGUtFZugjRJTZj/BlOEza3W8eLOJSYxxQmVfAo2fAilOzx3bblXLQw4osDBKgpyFXp9sueMzTRmq2iwPJ8AFzX9KHi3Pu1Pr7dIzMciAJ5Zy1nKCym/2R0KKKM5DIXng617FoNZifT1N69bnbnPT8HHa4o0SlHUfXspGugOE7Mqrwsz6lmCQKFVEaiIYEGD+6digmjJEuYGZFxMl03sO6rwn75vt81c4BAUtbBYZPW4=
X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3166;
 31:BUjNyZZaCN9gLv4eRQsP5VYQ7AmaGKhHxYoLfty6k+H3KDGn/G4D4GXNlxCDiaYfWG7VqTqcO/xt4BBU3En11OOMmLyE8/LOsH1fVpoGglTJgLrYKExDJdzhLV/dmphzTQg5NnLRbsHkx4MQ1VRa9uu/lql3/Va4H2jeDeaVDT/bscr4f8FwejqhcRDKuaQBi48HXRjpWwnYqnP50Y3EaTIX04aZNrfNbp3jUBwwkP58GasUuqZKoswEVkeFMlSWPc9Rgyv2Y5sIvf80Eu7m+NzBAPLEBMAA17GELMumwJa13zvj3nGEG/0ItJCoAUgy8jsvK0nNf3D7fCHf/YhDSgtA5wr6ABFaNzDpgw8Whq4CyLs/nqIVOOolAMDfWglWC2mQrgNJB9NpywGX8FbP2u6Mrr6R6hxibY8wU8Gx3Pp8LqEpwm+++4KnxxKGpbPe2IQrNxrElVfW4UqhEJDlj+ivltWVtaO5KiXo72Pd7EOP65v757V4GJuhqffB7Vof46dGR0Ca/9BGIKrIr4vQ2IaiZqQySMYlXrIdeUvlgmr58m89EdOzhrR+j1O9s9usPEamQRbHB5ROVau7AEm2GvpJOHekACOZxMCMQc057bZiEEMKQY4APFPsu7pdNcoau/rPJf5mY01lxFpSzyp0mHKdxMQ/0YqYm9Qq4hlhTGxeVCIkJRPq2kJKWCdjyzyd4ucWb1ZMUtW/xTN4JNdc6g==
X-Microsoft-Antispam-PRVS: <MWHPR03MB3166FE6877919895B50D5250E6D20@MWHPR03MB3166.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(185117386973197)(275809806118684); 
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(8121501046)(13018025)(13016025)(5005006)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123565025)(20161123559100)(20161123563025)(20161123556025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:MWHPR03MB3166; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:MWHPR03MB3166; 
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB3166;
 4:5ZZiBTvuzQ1xDlp+7OX9k2Ka7A+aSC4565Bwxutwb/?=
 =?us-ascii?Q?5ucliAe/eHHz/ZfqX8sQ35CSModopgNEPecFxSbNWktnqdJJPUpW7cpHnsxP?=
 =?us-ascii?Q?YhZSEMGharUsTGVWvKSbwjUg6CYkIwP03yA+ohHDj0FlEFpQ3aexo9wTxM4K?=
 =?us-ascii?Q?4Kl/6FS2PqbxQQCC8GGdFWzHe3ieyAnwqYwX79IZl7YXgyiWivwl/T4PmFXw?=
 =?us-ascii?Q?6uzbOz+BLlWWFBIIkrYAY9NSG4BL9T4fMU4Pwgr7vzRhLee4GbfMJpNeEc5H?=
 =?us-ascii?Q?4aUn0ddD76y2H+R7vkpGxiWcT9LieGb2HceCSOwDU/appjoesh1/9HHI8NDC?=
 =?us-ascii?Q?Irc/Ws53/jHv37BBy8bTKyF8NDDVTMDPmESK2JfgCDMLGEFOtbd620YAE7qb?=
 =?us-ascii?Q?N8cl826rAUNP1Wcc03VfVUpxon8plgSgyuMgFmiU5S+Ir6Sl/U3jmAFwMkG+?=
 =?us-ascii?Q?iNa6htea4Xj72ITxd93xKxuQ7xvFweaSPPCWFdMH/bc82cj2y32Ww6sCcqPy?=
 =?us-ascii?Q?Tz3C/QDxi1x+pBwZPOoFmILxqAoaNGI3xv2d/flL13jMkxJWJcaeVZ228MsR?=
 =?us-ascii?Q?kjPBBuBStbQ/ly1LSKtSsnbPUPGDEGNVGRRYyhBW6iGCo9XnzXjsMrn1Ru6V?=
 =?us-ascii?Q?+XKxH84iY09w3oaUBgrC/97U+vC2cSD+cy1FBv8IgxTUo5ChtYodPsZBqXbx?=
 =?us-ascii?Q?pH2RTVC74cUhtAVVaxTWSEfagJ7LePKgs6/1qWMSPpgMDX99V1Bqiuly/1bT?=
 =?us-ascii?Q?UhshNIvQXXlUyx74dnQdrAfYfJtDfE6ePEDsaLxNm2/7kgyjmKeA+4RtfQjQ?=
 =?us-ascii?Q?OLMqtC2N1oUn2ljSpXsWuuNOSm3oUq15iLM2IxLqFAjag4ec+z/ngDRoCJNT?=
 =?us-ascii?Q?0uLSnQM3nvYGNEFgnR0jeubJCcJT+RtFo8IXU0VjlgvhBXiuX2CIUrKzun6n?=
 =?us-ascii?Q?fRTl8VCuSG0/6CTehO2BxLoLip4hYoApRgGSshxdBB1ndYtdwX66+sUcvb2n?=
 =?us-ascii?Q?6hiAYhq8ln41vSo9tJ8qXeL++XR9ygLiIMSpmW1IAMIU4wATPVtIHS9+o88f?=
 =?us-ascii?Q?InfWK+cBv1gpfGGjDR99AsDRrEfooXJxEO2wkxrouYrfXaabJuHmJNntFb9B?=
 =?us-ascii?Q?ni4JtW7M7Xp9vZeF/boIN6/gn8wbRxKBb/YougLqJm9f54yMdT/2P0WbG4z6?=
 =?us-ascii?Q?HjlOWSsFMH7u2qZIYsca/tu5of6SlS62JVXvr511UBTYh/bdU6bkdRw776u/?=
 =?us-ascii?Q?muAOTd+gs3/8raNXTxPW5IJ2cLtSztPHpCg00oxUb+GASmlVQHhmknzbTsP7?=
 =?us-ascii?Q?UVuxv4mUWXrkUWrpZwWBjcXaRUz4VzmxdhDTTGKUQXEtbp4ORdzMgPXuu9WG?=
 =?us-ascii?Q?wm4wLXUZolLBmPe/LuJWDu2nw=3D?=
X-Forefront-PRVS: 0353563E2B
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB3166;
 23:85wcszPAlnYC31pCboocaoTJEPBMM3DcIC/Sc43wM?=
 =?us-ascii?Q?GV3sTfd1HmGM8TU/Qn0uKP6VF/1KMhwnB3nzg+eI0lYSTxLIMKaT3i/UKmu1?=
 =?us-ascii?Q?0nzqvsvY/dos1hbmLjyDCdkk8bQ1/057+gW9RlRte4ndmvaOkdatUpKpzNbn?=
 =?us-ascii?Q?8cwfhBO8xWcPc5wHYoHFUaCyHS2LEl++cQINFCbkKg3IzfhTaq5YjT+8Xmju?=
 =?us-ascii?Q?JrvypsOmpLN+6TFgUCObsNTMWzN0/nWMBh8fdcoOAoGHGCZY3ODKApB55gqF?=
 =?us-ascii?Q?w7xoW9JAxNp1V1Tc9tXUh141Ug8LjdcqjC9d8UzjBrfseXe8Wa+x/PGfcldr?=
 =?us-ascii?Q?legjdy+aHrGWZQE6RIaBGdN1iy/SdoRhNWYzbTndvGtH248oz8GWC7s/2VQ6?=
 =?us-ascii?Q?AZ0+kJPY6QO6Jx0ZShti7GgQaqQvPudRnSq4MNkpzMskACWih716XN9e1kNt?=
 =?us-ascii?Q?Axh5O2PM6oKiuspLe1XkaXk6l2cGTSjupcIsWcJRTUI1yWE1cBB44zczNjSI?=
 =?us-ascii?Q?eerBaxhBwbsadDWC1mL7bb9AFvz60tByEeIbiSaBiq7vWsnX37O9bqsaSdMI?=
 =?us-ascii?Q?EXUEjFJfFHV8UYbf1v6XuxXMiMkrspgVjZB0TATUIta6689XtAMIRuNQghsr?=
 =?us-ascii?Q?ZoLfmkiKfPen6PrxZr+fq3d9ZpynHFi5136PWmOtNKDkqokT1XQqRhaBsW9H?=
 =?us-ascii?Q?qm21n8F88CjBv8bdjP1rg0+Wna4dxS0tt8/GIo+CMcpw0pK5rKO13K1vPBg1?=
 =?us-ascii?Q?mo59q5s5RzVvFHfvknppUi+hy1YW0mXus490la0HUsJx6m3h/vHOfHVVYm6w?=
 =?us-ascii?Q?FtD0WimS+8DPfploHlTuH6E47N1wUnu+i7wq5HZUJ3GB0p9BiSClY+SjYD3u?=
 =?us-ascii?Q?qGmTPjbnA5Wky7u18+9bdJZ8CdqXP2g98CETJYR3YSwyX9IxFXfaEhB1/iQT?=
 =?us-ascii?Q?AvqhdvLJ0Pgm6MMqTUXCbeVzvEhm28BILmvmJFfAUssI9c+1cuObXiyniWad?=
 =?us-ascii?Q?HFDz4rSFBaV1G5FpoudgW3HzPpPXtrpco8sLWKVyNP6TjCOiW09XBaFCk9Y9?=
 =?us-ascii?Q?Uad9ZEUdYORMK/ERMEU/cKdiFbCbW1dpa8zbwpVofA/8HrmzbCF5LHUGtPbM?=
 =?us-ascii?Q?myUMiHhsxe7Xm0KgO3av8JSD0lRnX3Zc26mVWHEhDNqpGiqRM1vIaNnrrRCr?=
 =?us-ascii?Q?SPzQ2owqgbAmxEgCK98jnmCTgZTbxCmAp+9i6o0LJXVc+gaFQDuMxbsDuWp8?=
 =?us-ascii?Q?p56B5KaC/szuUMAyyFsTWyIAIdKmUpuR3vcZayz?=
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB3166;
 6:S5cKGMiK6nU9ui6BqtUtSJ7iflnxrQcHw1Lb5W1ASj?=
 =?us-ascii?Q?VcKnqRQcji6ILeMCMX15Zlf84GTo9kYz5n8k93Sr73cbwiNcfX4tbX/3KRKo?=
 =?us-ascii?Q?hW9p29EAF+l1ZcpO7NGTjJbhrq+OjimBIm5loCe3UaIN2lbldTLbWmnyypMR?=
 =?us-ascii?Q?chqB1J0ooDRH3vVr2C1bIyvsJiMuMmzNcoUIl08OFUym9VoL5VcOvvSwhtJS?=
 =?us-ascii?Q?dhED65DCcD0Vn2TPiVGeZsYlgsB+ps9JAZA5EiL3spx3Qlyq4aw1GnSSV78Y?=
 =?us-ascii?Q?YdjE8bBtM0HbMo+MFUkSwYHoj0hQ5hjb2KH39gFH+2axBl0ZeM7VuwoZ8WPC?=
 =?us-ascii?Q?trKLtgIXLLgDkikBznafpphs0Rp2v0kSu6ID4woOub42p/FZEByyqTXoPqhf?=
 =?us-ascii?Q?+UehpZ4FQzqmXtSLx0X+f+ONAgsQzlB0Hh0LrovW3yLS63z9Gej3s08tI/gH?=
 =?us-ascii?Q?NxF+IgNWhN3VXoPd7F0eJLPBfvQdMqczgqO05antuDhYQe26SqgGvoDF2pAp?=
 =?us-ascii?Q?eBb9QC6WwW7J1TCmrYXDLTacQaldrd27mGNWxntf3oINm7wx9cpOjR/SOnNy?=
 =?us-ascii?Q?l2TWTjtg6a+rs/BEJvE5mD7G/CdYOPxP7eayVy57g+QM0SHuMbUOoSzjwoc+?=
 =?us-ascii?Q?kowokd4AP3t4qqXxt60H7qMTkl2v3eHDHstl2Zr9Fq7jbCia8BlWQox/8D+J?=
 =?us-ascii?Q?cwM9HUjlH4kIHy/PoNRKKtR60KStBcwSuM+tvGC2yIgHCWu5MlhXRXAAVnoO?=
 =?us-ascii?Q?UiWM7OC7QV/7Dja59w0ctvr13qYhaK1RFePavvABanW4FqP4Is83kqxir01M?=
 =?us-ascii?Q?T+qop4nEPPg9vdZeX0YJg8ZkVxuqnaexD8j0HUNwVk8c+XiIf9suqAfqHyCw?=
 =?us-ascii?Q?a8I52HCkA5EhWPgMqEOOAzUo/BuHlI5VlXh9ecDiQLnr+VSC7087dLXlSxRz?=
 =?us-ascii?Q?GdNNZurL6DZpvxrElHg8kjSu9D3wfrIrAqBZVovw=3D=3D?=
X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3166;
 5:SmZooTFyXbykzGRwGuAWZMZ6hrr4dTTabs6xxlN9NV8F84IkekntO/UHQwYmA7aGk2Sl8U2Nija3airAMaZrlfISPjQZTIQpkEM6Rl5bjf1HYNbk4xaUk0XyvfZd3vTAFuPpRCrLVr1ZkhHwBblra9yAp/GUauNBr2Z/ppkNCOqFRErTRIHJLRZSnp6veCM8Lb/NsQ4NtosQjK8GMlTiybt12UYknqcee7uGKKPse2uwRea8o4pITXUurkZTfhRByNx4YYq1ieCSzs44PDSsUyr7ltapeUdhuehZwO8Ow+jEryNsOyu53tQPXsYrXV10sCmb7gWnkEU7ywT8DfPVrvP8qaxQMV7GUaUVVWLXFoRf5cbo6TNEvsCRHFtg03WYV1aNAxJ4T+OqawB7Tzb8bnznidI4A5Vzh3vUiBYUbicdnlIxpsiBV4Gi5+hC8MiA8IHk4fnXLvH1lfPNNgzOGBy/gA+3q+LNhITrh5yXWXN4rOWmkI7+UN+wJOZfEVa86iwYava3Gh0Js62dg2mrGw==;
 24:wBd21i8sNseIMD7J2RhenmxaIzw0/F6+NW0D+CpPhrcbO21DWtP1IsN6l1pFhXKMagev2ShZ+YI6UgLrbTLJuJpR6DDUpnRNjz5jFg64kpE=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3166;
 7:tfHAgCYR/N/NcnR0ENvc9YPf9wV9huYQ+Csv/lxrAHZF/G8V4z8QjFbMXU6H4HxBe8Hxmg5U2yMSepcctubR5BK8vSpdqMjXFBKH6kg+IjhaGyQn0Drpe0agip90hBdYk5Xeuc/CcUCBsfV2x6lS7odP4lVrHNWS5y4hOix6R9BhRmgNtXfF0LflUl1lzwhmngGcFqNjpzKxiw1NnPsg1iALKuu+8k+ycOrQWR4l5GaLBtvrEcY99isYdALKGvs7DTPRGE2vy/I2n7180KNu895CBgs4HUAxzELNYfn94GkcR0KThPmfrxvT5My9WmyJ7kWDlBEAz/WtJ5gWbwf/2DN0rq8xCfeMa0rw1ZTcC4cOCoi32+/4xyyPnBWC/2pHzWi56xRpSxo7ytH+rgrfRQWjju3DQP4iwfysAS8yVr20fpvwIRBYsRsxe/lag+YBfE4a4hwRvj8L/3ho+3uzLhekXHzNfOh5vM1lmNhykbUNPs9I7Ngt/fBeFSsflMCuOu0mziuE249g26aBiUOM28DnS9mjAfnRUd9bgnwHDjSm31JI0w0WUriv3KuOpWaHlzB0u+Q0OjyOzBu7SYPA1zkQrOq8IT3AV4owWb1D4mRKzxkMiA60OG68tP8CSlGuMMYlruHuflfxirig+wrRNlylE6BYdrZWCWPxLq7VqyDg36BcxKA0iBmK43KUpMiEiqruYMy+E9oHZNvyURgy9mPuARqOFc5cIDDUqWuUX0vgrpL4urMHHFpQdOQCJiwXQYLOw2VWCkBPcNdcSArInu8xSc/fNhis3FE69rEdM0o=
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2017 10:29:16.5014 (UTC)
X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50];
 Helo=[tx30smr01.am.freescale.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR03MB3166
Subject: [dpdk-dev] [PATCH 14/21 v4] bus/fslmc: support enqueue with
	multiple enqueue descriptors
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Jun 2017 10:29:19 -0000

This patch adds the QBMAN API which support multiple enqueue
descriptors.

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h | 14 +++++
 drivers/bus/fslmc/qbman/qbman_portal.c             | 70 ++++++++++++++++++++++
 drivers/bus/fslmc/rte_bus_fslmc_version.map        |  1 +
 3 files changed, 85 insertions(+)

diff --git a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
index 7731772..39407c8 100644
--- a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
+++ b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
@@ -883,6 +883,20 @@ void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable,
  */
 int qbman_swp_enqueue(struct qbman_swp *s, const struct qbman_eq_desc *d,
 		      const struct qbman_fd *fd);
+/**
+ * qbman_swp_enqueue_multiple_eqdesc() - Enqueue multiple frames with separte
+ * enqueue descriptors.
+ * @s: the software portal used for enqueue.
+ * @d: the enqueue descriptors
+ * @fd: the frame descriptor to be enqueued.
+ * @num_frames: the number of the frames to be enqueued.
+ *
+ * Return the number of enqueued frames, -EBUSY if the EQCR is not ready.
+ */
+int qbman_swp_enqueue_multiple_eqdesc(struct qbman_swp *s,
+			       const struct qbman_eq_desc *d,
+			       const struct qbman_fd *fd,
+			       int num_frames);
 
 /* TODO:
  * qbman_swp_enqueue_thresh() - Set threshold for EQRI interrupt.
diff --git a/drivers/bus/fslmc/qbman/qbman_portal.c b/drivers/bus/fslmc/qbman/qbman_portal.c
index be4e2e5..137b55d 100644
--- a/drivers/bus/fslmc/qbman/qbman_portal.c
+++ b/drivers/bus/fslmc/qbman/qbman_portal.c
@@ -574,6 +574,76 @@ int qbman_swp_enqueue(struct qbman_swp *s, const struct qbman_eq_desc *d,
 		return qbman_swp_enqueue_ring_mode(s, d, fd);
 }
 
+int qbman_swp_enqueue_multiple_eqdesc(struct qbman_swp *s,
+			       const struct qbman_eq_desc *d,
+			       const struct qbman_fd *fd,
+			       int num_frames)
+{
+	uint32_t *p;
+	const uint32_t *cl = qb_cl(d);
+	uint32_t eqcr_ci, eqcr_pi;
+	uint8_t diff;
+	int i, num_enqueued = 0;
+	uint64_t addr_cena;
+
+	if (!s->eqcr.available) {
+		eqcr_ci = s->eqcr.ci;
+		s->eqcr.ci = qbman_cena_read_reg(&s->sys,
+				QBMAN_CENA_SWP_EQCR_CI) & 0xF;
+		diff = qm_cyc_diff(QBMAN_EQCR_SIZE,
+				   eqcr_ci, s->eqcr.ci);
+		s->eqcr.available += diff;
+		if (!diff)
+			return 0;
+	}
+
+	eqcr_pi = s->eqcr.pi;
+	num_enqueued = (s->eqcr.available < num_frames) ?
+			s->eqcr.available : num_frames;
+	s->eqcr.available -= num_enqueued;
+	/* Fill in the EQCR ring */
+	for (i = 0; i < num_enqueued; i++) {
+		p = qbman_cena_write_start_wo_shadow(&s->sys,
+					QBMAN_CENA_SWP_EQCR(eqcr_pi & 7));
+		memcpy(&p[1], &cl[1], 28);
+		memcpy(&p[8], &fd[i], sizeof(*fd));
+		eqcr_pi++;
+		eqcr_pi &= 0xF;
+		/*Pointing to the next enqueue descriptor*/
+		cl += (sizeof(struct qbman_eq_desc) / sizeof(uint32_t));
+	}
+
+	lwsync();
+
+	/* Set the verb byte, have to substitute in the valid-bit */
+	eqcr_pi = s->eqcr.pi;
+	cl = qb_cl(d);
+	for (i = 0; i < num_enqueued; i++) {
+		p = qbman_cena_write_start_wo_shadow(&s->sys,
+					QBMAN_CENA_SWP_EQCR(eqcr_pi & 7));
+		p[0] = cl[0] | s->eqcr.pi_vb;
+		eqcr_pi++;
+		eqcr_pi &= 0xF;
+		if (!(eqcr_pi & 7))
+			s->eqcr.pi_vb ^= QB_VALID_BIT;
+		/*Pointing to the next enqueue descriptor*/
+		cl += (sizeof(struct qbman_eq_desc) / sizeof(uint32_t));
+	}
+
+	/* Flush all the cacheline without load/store in between */
+	eqcr_pi = s->eqcr.pi;
+	addr_cena = (uint64_t)s->sys.addr_cena;
+	for (i = 0; i < num_enqueued; i++) {
+		dcbf((uint64_t *)(addr_cena +
+				QBMAN_CENA_SWP_EQCR(eqcr_pi & 7)));
+		eqcr_pi++;
+		eqcr_pi &= 0xF;
+	}
+	s->eqcr.pi = eqcr_pi;
+
+	return num_enqueued;
+}
+
 /*************************/
 /* Static (push) dequeue */
 /*************************/
diff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map
index c879e2f..9950557 100644
--- a/drivers/bus/fslmc/rte_bus_fslmc_version.map
+++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map
@@ -69,6 +69,7 @@ DPDK_17.08 {
 	qbman_result_SCN_state_in_mem;
 	qbman_swp_dqrr_consume;
 	qbman_swp_dqrr_next;
+	qbman_swp_enqueue_multiple_eqdesc;
 	qbman_swp_push_set;
 	rte_dpaa2_alloc_dpci_dev;
 	rte_fslmc_object_register;
-- 
1.9.1