From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 ; 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 To: CC: , , , , , , Nipun Gupta 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 --- 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