From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0076.outbound.protection.outlook.com [104.47.36.76]) by dpdk.org (Postfix) with ESMTP id 3D66058CE for ; Fri, 30 Jun 2017 10:55:23 +0200 (CEST) Received: from BN3PR03CA0102.namprd03.prod.outlook.com (2603:10b6:400:4::20) by DM2PR03MB477.namprd03.prod.outlook.com (2a01:111:e400:2420::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Fri, 30 Jun 2017 08:55:21 +0000 Received: from BN1AFFO11FD025.protection.gbl (2a01:111:f400:7c10::142) by BN3PR03CA0102.outlook.office365.com (2603:10b6:400:4::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11 via Frontend Transport; Fri, 30 Jun 2017 08:55:21 +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 BN1AFFO11FD025.mail.protection.outlook.com (10.58.52.85) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1199.9 via Frontend Transport; Fri, 30 Jun 2017 08:55:20 +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 v5U8sfK5032271; Fri, 30 Jun 2017 01:55:17 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Fri, 30 Jun 2017 14:24:25 +0530 Message-ID: <1498812875-6945-12-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1498812875-6945-1-git-send-email-nipun.gupta@nxp.com> References: <1495735361-4840-1-git-send-email-nipun.gupta@nxp.com> <1498812875-6945-1-git-send-email-nipun.gupta@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131432865212232005; (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)(39850400002)(39400400002)(39410400002)(39860400002)(39380400002)(39840400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(54906002)(77096006)(2950100002)(6916009)(104016004)(47776003)(86362001)(33646002)(105606002)(2351001)(6666003)(498600001)(106466001)(5003940100001)(36756003)(50986999)(4326008)(8676002)(356003)(38730400002)(5890100001)(5660300001)(110136004)(8656002)(76176999)(53936002)(50466002)(48376002)(50226002)(2906002)(85426001)(8936002)(189998001)(305945005)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR03MB477; 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; BN1AFFO11FD025; 1:WxfBnrD1JZCjflpBR1OuvlQH26VtNhCSWsTLGAMW1?= =?us-ascii?Q?pBxwJYKx36gCkSol8p7WawEkRl+Xphgtt7Rl2bTru0N2Z3Lc5ucXYyqJNpPt?= =?us-ascii?Q?W3mT9E6LLKk6zRsHjMeAsG5BjoFAUoRyXICmFJ7TOk+jRLSDyp+XcBusrUQE?= =?us-ascii?Q?2yN4Obzeo+dZWEno3oVe3+NfPVYLu9WPJJtEu75dLrMxO5AAgPCLoLXTBxDQ?= =?us-ascii?Q?BCy3pv7DqeAVnPtBdLlSN0wL1Ms6G/HqmXsKSK4+KrGXPTMxxK8ZdkRR8PkY?= =?us-ascii?Q?gqLd6BgfTLXGpK+nx7tVrG4fmXO5sZl8fAhr5fj5DjRMHHMHW9Zub5ABCPYJ?= =?us-ascii?Q?Y9FcnXwK9vzL2STr66PAIdjY/s7FpiKifcHRjTq+KCKrBncDi2BmPiMMPJJ9?= =?us-ascii?Q?S39CEcF7Yq/yLRMASKXGu+s4+iPE8aJvSxgoW/4qmVojZEH/fB+xfBQfuVtN?= =?us-ascii?Q?BYv330Fr5rcLRi3Eg+91USdzz9HpN9S5QdO/fAGUf8jVjI34t8mQZ84Zvdiw?= =?us-ascii?Q?VQ1ArG9RZN5es9eCBfzvlOwGHv7dwo5UJzp440JDunYk4v2n7oGQjaeKUk75?= =?us-ascii?Q?nAAWdJUe83nN5zSAbpnKQSNnl9qvmaD5DHatP94qZZiiVzmxG2Y+Dd/gdum4?= =?us-ascii?Q?qo+FmlqJX2y+NFEgEVzuMBgMmNoR4+I05Gd0KFmtZNr1aueLtFfAt/Gb+WM7?= =?us-ascii?Q?RcXFgBDaakwBYV1HxcH+jmMUNzXsu1UtQpWMVcPU/KfJ0RujORJJQyqMUTB5?= =?us-ascii?Q?7OeNw8VV3IHTWFrSEWjuIEoQ0SW530JgcXcsbwwYs5Dg6tn13ztw0m5pnOBY?= =?us-ascii?Q?QuJZxLUVchAT03h88L+OUECwvmoZSvtP5PcPmAANQ6q9VSuj3n9y72pMnEwb?= =?us-ascii?Q?1HG+QQPO/QtuRcMi1/qAvaIHfmV/YsOAW4VsWOxAh8R2TJm33d275cM8eXG7?= =?us-ascii?Q?Lcc3FT4rchyekC28hD+OXfQUaZqTbw3eP893zfw32PU01/RLf9RlKsoaRSEM?= =?us-ascii?Q?5qerYGtMC44SEklIjps5/X2pyz1+ZshgTubLS3VvuRnVAgAc/tgiwuX1yL8c?= =?us-ascii?Q?GA5Hi7CvQkwQcW6Jha87Gjtt3MQC8lMmk4AeXl5LjYjVzddRA=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6207e103-59ea-4a92-663d-08d4bf95bd2d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM2PR03MB477; X-Microsoft-Exchange-Diagnostics: 1; DM2PR03MB477; 3:TpagEfHeEbb/J9ZrV4FYWD5+V4KW7pVSkYeoTTLCOC6md0H3em4pNlfd7rILYP7h7NT/6XpJHkNBhqJQe2lPvrgtzUEQGA5+LTeoiUWXH9jZQwrdNVYqEporDPRbtK1jJ48iTBJd8agjtEYh7vUCmMZmHlbk7oufEZkHzFYnEFfNejEU2GzKkAkMvYOzLMvdIquis1JaRK+106CDvEeV7tYWPDSGBVQDaOHtg0EaA3xqO0SZCWoeolFUl86Ee3BmipA5km1YXeEpsaSyzxO0nkdaDFQysgMpihIyHRqObIMEEgQ1r3LTS8iBn3GB2MRkLy9+egZcqfsZiF6uLpHGT3edXmpqVx4vTlnv7Tmt4dym1hZqAmEBWVo82eEKof3dz7MY4K0vUzBQ41DPxGxGbks9o/yG8/ICtLaCfxzqTjt9qVCbucGX0Lr4TInBOvcW0O/9xcdRnkMXZV0rSedUyC7Y+mEQ5JHfAk0tti6T0DuMsU5iDF6LIcPZkbYQgKIs56rR5c5y/XBbRV7T6qKBe7Ll/bv5dOao/1ut7So0jFTBtGQVnDesIj6xPI/vKjx2YIaB5o9mcigOTjHtMhnYMBD2Djywt/uuYyW8Pa+pZ+kxcSDpLi6Dmc6SsHRJkm6KR+0X4bO4V5pVTMfhazEEbLKtgy2Z00zPOlihgKlnrpwAnkwSIaqoT93HIgZS2ycXre+Ig2UJJm+XFI3daz+cPHBi/qYEbHckT2j0JgLl8PEF12ir4aXwms41DnyaNxj7p95v1mtAZRl7iLgXAvpsqmWrxteffCfenqOOSd3iGPKftQELkIR5qxNqahgO1s4fNoR0Vu2k5Il/1gmioOoXOjZnu5cPc2WDxuymvZJqaXt5meHd41ZzGk2fEiuJ82nm X-MS-TrafficTypeDiagnostic: DM2PR03MB477: X-Microsoft-Exchange-Diagnostics: 1; DM2PR03MB477; 25:nvbo7QEVyyE6xZxz+7t8avTz+8z/Nrg3CF8u8FBJuCNcEeR/i3GTiobYSLdinORvDKXse6++MSMymO5DhSkAYQQX0utSP+rFepC1g9oadcGtdfij1PDJvPBOvSH0jH2j+58QVVOocbl7JSSwPFi4OW7RF4jAA6sHiIL99agnoC0FzcBAXg+1cMGst5lx/04TQE5qcfEIIjXzpulkJJZAjhdMYqJDoLu7Z/QCPWIRXGMBS+yyGmlmBhyHX0gCDJsoVqbNEl1XKdKOYFvrHcZEgeSrh7Zta3KS+L6MiW0gJ2Heb7EjHvqssU6pzdLCPMOU0mcXtVL90lNCxtxgV23QLBZBJG6cB6F/nFTSIIG42bU3FdE6Q8aQjwsGYmJ5loNEfsUc3vBS2L0iRX/EiWm8ruyeGctJlrym8qAW48inBn9gBZb+kGOW850FGU2Hl2s0JkystnYlgl6CA1R69thqztfLb+kInvNXOiqGJsm+fF5Q76gLBMe5fpNUlGdilFKb9MA7r7tWjPy6o+J5RLq3Kab24HDWeNE4B1qNxLkR5fTYGfZShbS02im1J9jO9vcz21s4+tpmfxH06y6TN+wv96qnyJi4kxVCB7lgdmA8LaLaSdX9O3w2J0xfuKU87eagWPLHxKdAvD95CCeGQANsvuOIuB+3Eexc9uC6wXEzzN1IelRqIR6AeghB8HyYdmf9MDvcUnMdeDtv2vH5J/iA6d8Eh6+fD+AVRWU/4Ai7ePKwy+PiMYRmE56dUi6+WUnZLd+eQHf5xCuho3rW5lFt0wCbdGAK+5ZGwbr/PCi2LWW44rEx9eT1/SGs7hWSndb6EhrAS+u2Q8kUFkVCcahQtmWeRDYrjyhSWyqvcvbBX8VygH/KNhOSQ7lDx11Mzkl/nHXH+7iW2H0odsAdU7sy/Qun5z5NerMurPjtO08A0+U= X-Microsoft-Exchange-Diagnostics: 1; DM2PR03MB477; 31:VkajOuCDit0hyVsQlUEzsde6l6eBG/xPMD6qm9EUpv7lBPqf0TfhtG7NoVOzoMFMT4YaeDHLgppwL5x/1ZC/wobMRR+zcIgxKvhRY4DjRdxotmwpoQ7HO1n49HNoEQWGU/cZDUUgzLag3B+UC46xgaK1pDA8zgATtJG/fnYYVGubEoqeVTEp9hAHRrBgR0HBAMgOD+tZEtffArBe0UF98uSYQHarvJoWKY9hs+m6Y0uMO1blHV4NHblWD+Orv4Q4mXiuhgt5/VfVeZLxpdggDWodY6rHDryYvKR9w9C+ZOztEPuu0WH9jEIhiEsEP7v3OHkaed5adGaIRRwXifACV8aYS0Fis+exC801x2tPODbJ6g0NmAQeN2ThuIJfCdcGH5qWHK6bn8ZWJOr2JZq+GIsUdck59Px8UtowdaLY+EL6DHYrLuiQNUWuhL+vEFHBKPR9IxkOXTTYnlgU9E8pJwPEEdSqhxZ3eWVBqZVNglR7lWns/QsFvIuNgTJTZWj9InjHeQGE9uE4s15tGVFrnWLLTKwAIrJfT3h3BMhcTTTT0nzMw/1diE8s02WnNZfqeaQddJKqZYXOwjW2tF5LXzpK4PnSZ9kaBsSE9B+ngY/0mOJ7BYWnrAuUcos9gmDTNPsEWUJKhJb3BmYDn3xeDVtiW0vMbJxhicvoFUcrcdlacAKudK6NTzkaHTcP9YC6 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(185117386973197)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(5005006)(13016025)(13018025)(8121501046)(3002001)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(6055026)(6096035)(20161123561025)(20161123559100)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123565025)(20161123563025)(20161123556025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR03MB477; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR03MB477; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR03MB477; 4:Siefa9IJ/t9j+zh+pMTHonEdc3V13VqsfB8Y4QexrD3?= =?us-ascii?Q?IBYoouAmIoJSrmTuNIlHnc8DOkMaHbeW83cbdSbOG/wAhbKxVaslxsk/Cz87?= =?us-ascii?Q?iOF7ss+BRGPP9/Afcn1kXLavKoANcwPiyBn+ortesb/jIZ7zXNDhK5YFaIO7?= =?us-ascii?Q?JZrIoM8gNkQNF3HxjYvdHjdFCYkxG09OKO6kERbipwy+94zO0w4UntPCS4VB?= =?us-ascii?Q?A5MoNIpm1IqeFK8FasN+zuyUmiz3SA2SxCPrPpqxPUeoxmUqBfeEsmqBBSSz?= =?us-ascii?Q?ieLheJa55Cp3reuieKBHuK/h+LY7mbAb8wLeXMb+zhe6jqPoov3acS5Wcljv?= =?us-ascii?Q?ACBMNVCWG7lZT5QYio52O3i62lKIOt45+jtmLDezvACHYdZVt0H3CEmYP3f1?= =?us-ascii?Q?w/UW7iXnoTp9WluBt13kiEoVBO8QZJR4pbqZqaoEjT93wzDQxpbaQmNOqVij?= =?us-ascii?Q?iLdDpuzjPH5bjKa8y+wTi3S269F6h/PKVjeU+ccpUBcgVo6mUY/VeXIgVhTK?= =?us-ascii?Q?HYeYOYEJ+OYv/LJkdZSJzBfDhBbAqYcg1JCPa9SWxfUSakStsqLZ3R3nHwdc?= =?us-ascii?Q?Yq0/+Kk27uU766o06J/GwaJbTO0bp/00aGUSfK1bPhfKdubrxXCWGNxvesu5?= =?us-ascii?Q?tQNS/eEvtO63SHIiSJ8twbhvXzqDxfdxzCMNSkGmq1ETtrexCIzVM3NJ+TeB?= =?us-ascii?Q?oOQl7NyjSsBuN/0frs5fIjEU40yg5DACRkTpRS4Kuw+z2/uIyd2z5fkp0zwZ?= =?us-ascii?Q?vV5YxEARi5JSbJ4b5HZ0T/yfXdOK5V2qCr7Ld+ffIbF3X2j8vWzqDsyO39bS?= =?us-ascii?Q?NUs1EzivQx2LuUmtkQNPGirJUKB71t3Wj0FP0sIO4ma1NieFj8QHZS+v5lJt?= =?us-ascii?Q?uH4qg7orBkMIt5xBiFQynBgKeqATz/HIu3yKu90//NI7oDTEGTQf9qxrIZ/9?= =?us-ascii?Q?A3PzbOztRvz8UhphVSO99/olcWdTpezRsmBgdZRvB6Ys8DbQ+cTEqaXfr8ar?= =?us-ascii?Q?n1UP8K4wvSv+SkgXLGwDFW+a/pjXPOIMt4lwadrw30wYDG+63n+ps+n821nT?= =?us-ascii?Q?CorhCcwaKS/rai5NRx6aL1g6vSPaLDUV2eMuEDdkBmzBBLQsnemn2/7LgXbI?= =?us-ascii?Q?XED2I080B1s9lXNZr8h8Bc+mdRVPW/0J45mD9VyDX3Om2c5lC3FiJawkofVD?= =?us-ascii?Q?yn2SMw8BABvRSrOeyo5e6omOt0aOwty9Ig+I5s+8qyYEwe4tYR9m6gwMOV2r?= =?us-ascii?Q?zrxEWEoHDBRXY3PN3emrxlZ+hHyZ1/VhOQDu5276KrDZ0vWyYnkHLy+owEB1?= =?us-ascii?Q?nxeG7hYFaoThPkvhTo0RB+tGVEkLMCUEvGsTcopTq?= X-Forefront-PRVS: 0354B4BED2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR03MB477; 23:nAVg7pPQigy2VloazmRGu3EuSvBXGrPWRjRdbIgFn1?= =?us-ascii?Q?H9XEZAcvLjD+ZNYjLeArdVOt+kzJiq3q3RLTk2DgJfsdNycONvKvZB6R/Yaj?= =?us-ascii?Q?ik8jRa4Y5kfARjKZZZWuB4+SsHMeddJnHDLm/pyVzwH/t0JWjSAqJThO6zxG?= =?us-ascii?Q?fdIqlzUURrBP5QxIkywK/rtO0E29KrwCtStZu0ldeolYKu70QatUYukfbayd?= =?us-ascii?Q?PZOw9GnX5EQy6mj25lQGMNLLVE/RD+lvBoAMSsGaOSaDTcGI1h++yj23Kx+L?= =?us-ascii?Q?iFy5Hcn9OzeldlD0OvMBIrDxuWMtOcdxjT+lyec/e/TPg6sWcQpz1uIKINQ9?= =?us-ascii?Q?cp4tMimDz1ljEdyi3XUC3GurDPjRsOwG/00152aGJ5pBWtZ5T/6A65DJrBVQ?= =?us-ascii?Q?tbTXD10fcI5Q09ulPRR+jXV20UWkUZfVRDal19stmTfMDd/UJi1sxb4LQ4T/?= =?us-ascii?Q?4ZKBSu9jg1yBZw36xc4qDtTLqHu9zDorGZv76Rw4R7AnQ1f3IC7XYHCDJ4Dm?= =?us-ascii?Q?UD6HLo/9oHfd+INhKIjRptS2rLSZwmGU5RefqFRVMCWrB3Xyog4RYRHRAuhK?= =?us-ascii?Q?thbbd8NXojPXP+F0Up8c1lBu2YBojk7PLPMW8x7FGgsUYNNL/HSYE4J5H67p?= =?us-ascii?Q?9ZgHIsBDTlvN9N+/QvN2uc/PIbwdEtgMJJfCVWCn463qxvZV0zvUnWSd7QdK?= =?us-ascii?Q?AqgY/s1lnAyPJix6WpVDaoNnVvHAn3wuNK2Ogyo5UrYFgR1riY3/F0AwkANY?= =?us-ascii?Q?pzdETRWAbq+eX2bOWwY5Lvb7kH1b5Nf7Bn9jPv+KIAgn1JsPIkHcq1mm1iTl?= =?us-ascii?Q?/+f2WLBVCZTNSlG3+LLVR7PmoA40tA57+udCZGmKDpU9nYeiHE2oBnrBzYIN?= =?us-ascii?Q?A4v1BcU5HZFcKgNVHObPzwVu3WdZNMQ1p077eSQ268YuXQLSR8RjRJLqosb+?= =?us-ascii?Q?tsYHFLJBDq/VRi73Z0Q5BoVdHGkowdKr0JYbDjJhZwzwVPwyCRHUW0EVzLGe?= =?us-ascii?Q?/hI6eUIStBNp/4Ms6xSrfWpG0C5AtlO817yj1ZU5GgjXDaHK4yPfNvfraFs9?= =?us-ascii?Q?TUHjjcgOuwktpUovlC6PZdLszdh2Q77ArTgXaW8nyuzmhWuLQ6cTwwV57C/U?= =?us-ascii?Q?A3ww8TZk/lUnJzorTd6r7x1jT7lyc6afdGKPlcJCT9p3yMBjRNAQ8yXUeDjt?= =?us-ascii?Q?hQzdBT6qDQU/+TUBus3VYYyyp3hiXoxrrKpPZVe/xgLqQs890kaPXE5UWrAq?= =?us-ascii?Q?HqtYhYxtkcf4+XhMLyGlT5TY0BMpM35bInSuOz?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR03MB477; 6:4p6Isdq/FcchEwQ4k1b/DFxBYnut6A8fVRolBFtY++X?= =?us-ascii?Q?1OIAoiCCmhzKP0SSjkkkJdaz9nM9vgTp4XaGfBpwFEnz3fYbSUxrR4lL04nE?= =?us-ascii?Q?2VoDkya4i4Lnq25DTrSguzBBOY6BWLg0l2i0RRIhovpiPL5J0LKJsdFOkwAa?= =?us-ascii?Q?1748MKIFmOGooyRpVf0akLneTo0uj++B5pXQ+ZWDeNrkOT7Dx456VaMImKgJ?= =?us-ascii?Q?uzBqX0c1nDS3u+jamiJqsHiAdtV5s2+echDzQwtRvkfs4otdcGY1P9g28NTl?= =?us-ascii?Q?OzBZ0nhnm8K7N7bNkksOTjtPlTjzNUdNASjVhtZr+O2Ij330gA6RlQYQCe+F?= =?us-ascii?Q?BuRwl9PIRlQ/joVqnCHxAU66oKGs1Qy4wFE95jfjDppbCNaxGdravZlvnLY+?= =?us-ascii?Q?cDOYsPJ84xfN6uM6lPW5FlM3yVZMBzPhiRxma5icxeAhcb382qJtkvAW45Dw?= =?us-ascii?Q?AgezhYBMbDt1j315iO9m/EcqeNF9nq6tbI5I9yGPiokAnmmI7r4ukh3kLXpN?= =?us-ascii?Q?hXGZcIrygHtHgBy7dghe1ikOU+sYxrMryOqRnXnOvybbCGC10PMYtFLMc0qL?= =?us-ascii?Q?d/DvG+hlkM24fvwhYnAGJz/bEyHjww9s7vZDLzfDxfcIaYHMrio+fHpFPMz7?= =?us-ascii?Q?7tZz5mGn4AemRoV5AFN1xcBdIdVvqjchWrFF3dubO1C2/TSoxxUiKxsAEpDC?= =?us-ascii?Q?+/ull86b2xKQNgV9eRdkdQJ0SlSsavWFlmvJpYnh2IGi2l6CzgazbA82MJsW?= =?us-ascii?Q?c5l7egtumHvmA0/NqC4T1J71YyUzeKpGU+feMj9Y6zN5PK926X72cHb5GDGN?= =?us-ascii?Q?gnugLI78l1Sl3uySMMEz2P8nvULzBbmD2F9rNHvgdAkT/MzdDx1kDXYtvCEe?= =?us-ascii?Q?K7/lzX6b4fQBOkM/JWbUS+W2aK69veH+1taMJNhXQy09cwWB6GC8SYWTBAwU?= =?us-ascii?Q?6yEtCaiy1WgOqMMjsIyNB6uPzoMO3tNCBqMn+1A=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR03MB477; 5:sJJ5t2JJmnyTrh7KnDELlkldKnTex/lJzFdlebdyBpvbLDng+/Y08FDI1B2+IyCKCh/B8l5ExXjtmpuaAwdVVbTXlopknUGqz0p7mgGdHyxDOy8jexaP7ufRmlIgPoW6Wt0/9GVrRvPw0cICV5sp4uXYo3shHx7KbM2N4YDo2t15Y4xxQrwsNFoNCjYHtg6/my+fwrSb5gj7wEuQGL9br2uWfIau1f7U6Hi9fndemXLjxsVY6XZRYyoI10gYxTJhcpqy0CEAxrrUKfVdHkDjhxAHoCa3cEETZX2XCTcbsKCAGCb3cxO0lWZKM95V8V+noMip5GY8ajQcFUYqaF7xJiLmW6c4CCyvZoPQNN4es/F5I0N9yc8zY6LeLG99bWPNhk3CUXnG9XfpZzE5cpOPdqg7NA8AFEw+piQncqWSCGFjMFZ7TyMyXp7rrCRkUzW3VDUJ3v+sQTB6nbauLhg7FbNa1wPX+89dr148/nh1xGBlFkOR8iNGaFUIk1Qm6F8RCzdS63xO63cHTHUUxXZuMQ==; 24:Jjm6tZ6rj9iXffGH29JxgEuyzOMQ4mPfxmw1AxufLWJ+22fgcLoeboPacavHBO+pS/H6WyNrQX4WiKObNlhfZaz0Ls7j0ogwFhZ6QzV2az0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR03MB477; 7:zi470UeGw3vEjMxQuRcIu6JrHbQVpvzVZMDIPnoADTdPaifzr+c5rpJOQVc5gjW8Ou2RCI080D4ySQ4QG48AS8sAh8dBQDjM73E8CxwrjdBzS1Pb7TkEiK5WZV7yjF7+Jxe/arV3c3pvrkgvjEN7BckMbpa9Wr0aTZEjWSE7c56DL2yirgVLbJbpbATNpUTcnhQsaMxpR+YCLgLa0It/ZkKJ8WsP5gsm2VjJKMP9GbVo+MO66f7edE082oCNzq1zA29E/CxGZxzs/aleHcS2rw9ysFgLGDBhRpUWp8p1nyHijTH6gtFenQZG8Ha33oouIPW03nKkwh+YugxxSzrfnzkMbCzuxOhb7f74ylMdE697eHDvtYCwVTgo25Ujo71UZTeSHbnZDwqE7mtFP5w1pASBENvUqfHfIp13cS9szXA6szSwoCdVUGo5ssd+UgaBObI1AxdF0pST6Wy7Jxd98QKPjnbuaskaP0prMR+fyCjtHoeI2JMZfvyCv6XlqpMJ3pYd0P8rsNNoPDZiDaxLNr9SBVuHnUpqV0glczN0fh+Z9G7OGy918eCRxRnDHLTdjnvFIqjkopHJrXqXkJGQgRlpTLcFffulYPxKeMUaKpy4bVAUpQp9skmA/tBRcQgXOraDIeACEh1uXstakR9Y8N9A2xRzV5J4nMWAr48wbd7p1NPjXo0jergE/+BWM3cmBcXYwjZ9Hiash7poenGrHgglUOhfV8ujB1Fm9B1/jyHVdgsoFGgsZGSWFOo20ef8hKGaW56Yam+hvkQmSW1KHttAzgiJJScpzf3exq0TEms= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2017 08:55:20.9267 (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: DM2PR03MB477 Subject: [dpdk-dev] [PATCH 11/21 v5] event/dpaa2: add initialization of event device 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: Fri, 30 Jun 2017 08:55:23 -0000 Signed-off-by: Nipun Gupta --- drivers/event/dpaa2/dpaa2_eventdev.c | 157 ++++++++++++++++++++++++++++++++++- drivers/event/dpaa2/dpaa2_eventdev.h | 23 +++++ 2 files changed, 176 insertions(+), 4 deletions(-) diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c index 191901e..b8cc3f8 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.c +++ b/drivers/event/dpaa2/dpaa2_eventdev.c @@ -30,17 +30,168 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include #include "dpaa2_eventdev.h" +#include +#include + +/* Clarifications + * Evendev = SoC Instance + * Eventport = DPIO Instance + * Eventqueue = DPCON Instance + * 1 Eventdev can have N Eventqueue + * Soft Event Flow is DPCI Instance + */ + +static uint16_t +dpaa2_eventdev_enqueue_burst(void *port, const struct rte_event ev[], + uint16_t nb_events) +{ + RTE_SET_USED(port); + RTE_SET_USED(ev); + RTE_SET_USED(nb_events); + + return 0; +} + +static uint16_t +dpaa2_eventdev_enqueue(void *port, const struct rte_event *ev) +{ + return dpaa2_eventdev_enqueue_burst(port, ev, 1); +} + +static uint16_t +dpaa2_eventdev_dequeue_burst(void *port, struct rte_event ev[], + uint16_t nb_events, uint64_t timeout_ticks) +{ + RTE_SET_USED(port); + RTE_SET_USED(ev); + RTE_SET_USED(nb_events); + RTE_SET_USED(timeout_ticks); + + return 0; +} + +static uint16_t +dpaa2_eventdev_dequeue(void *port, struct rte_event *ev, + uint64_t timeout_ticks) +{ + return dpaa2_eventdev_dequeue_burst(port, ev, 1, timeout_ticks); +} + +static const struct rte_eventdev_ops dpaa2_eventdev_ops; + +static int +dpaa2_eventdev_setup_dpci(struct dpaa2_dpci_dev *dpci_dev, + struct dpaa2_dpcon_dev *dpcon_dev) +{ + struct dpci_rx_queue_cfg rx_queue_cfg; + int ret, i; + + /*Do settings to get the frame on a DPCON object*/ + rx_queue_cfg.options = DPCI_QUEUE_OPT_DEST; + rx_queue_cfg.dest_cfg.dest_type = DPCI_DEST_DPCON; + rx_queue_cfg.dest_cfg.dest_id = dpcon_dev->dpcon_id; + rx_queue_cfg.dest_cfg.priority = DPAA2_EVENT_DEFAULT_DPCI_PRIO; + + for (i = 0 ; i < DPAA2_EVENT_DPCI_MAX_QUEUES; i++) { + rx_queue_cfg.user_ctx = (uint64_t)(&dpci_dev->queue[i]); + ret = dpci_set_rx_queue(&dpci_dev->dpci, + CMD_PRI_LOW, + dpci_dev->token, i, + &rx_queue_cfg); + if (ret) { + PMD_DRV_LOG(ERR, PMD, + "set_rx_q failed with err code: %d", ret); + return ret; + } + } + return 0; +} static int dpaa2_eventdev_create(const char *name) { - RTE_SET_USED(name); + struct rte_eventdev *eventdev; + struct dpaa2_eventdev *priv; + struct dpaa2_dpcon_dev *dpcon_dev = NULL; + struct dpaa2_dpci_dev *dpci_dev = NULL; + int ret; + + eventdev = rte_event_pmd_vdev_init(name, + sizeof(struct dpaa2_eventdev), + rte_socket_id()); + if (eventdev == NULL) { + PMD_DRV_ERR("Failed to create eventdev vdev %s", name); + goto fail; + } + + eventdev->dev_ops = &dpaa2_eventdev_ops; + eventdev->schedule = NULL; + eventdev->enqueue = dpaa2_eventdev_enqueue; + eventdev->enqueue_burst = dpaa2_eventdev_enqueue_burst; + eventdev->dequeue = dpaa2_eventdev_dequeue; + eventdev->dequeue_burst = dpaa2_eventdev_dequeue_burst; + + /* For secondary processes, the primary has done all the work */ + if (rte_eal_process_type() != RTE_PROC_PRIMARY) + return 0; + + priv = eventdev->data->dev_private; + priv->max_event_queues = 0; + + do { + dpcon_dev = rte_dpaa2_alloc_dpcon_dev(); + if (!dpcon_dev) + break; + priv->evq_info[priv->max_event_queues].dpcon = dpcon_dev; + + dpci_dev = rte_dpaa2_alloc_dpci_dev(); + if (!dpci_dev) { + rte_dpaa2_free_dpcon_dev(dpcon_dev); + break; + } + priv->evq_info[priv->max_event_queues].dpci = dpci_dev; + + ret = dpaa2_eventdev_setup_dpci(dpci_dev, dpcon_dev); + if (ret) { + PMD_DRV_LOG(ERR, PMD, + "dpci setup failed with err code: %d", ret); + return ret; + } + priv->max_event_queues++; + } while (dpcon_dev && dpci_dev); return 0; +fail: + return -EFAULT; } static int @@ -61,9 +212,7 @@ name = rte_vdev_device_name(vdev); PMD_DRV_LOG(INFO, "Closing %s", name); - RTE_SET_USED(name); - - return 0; + return rte_event_pmd_vdev_uninit(name); } static struct rte_vdev_driver vdev_eventdev_dpaa2_pmd = { diff --git a/drivers/event/dpaa2/dpaa2_eventdev.h b/drivers/event/dpaa2/dpaa2_eventdev.h index b151502..2a3211c 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.h +++ b/drivers/event/dpaa2/dpaa2_eventdev.h @@ -34,6 +34,7 @@ #define __DPAA2_EVENTDEV_H__ #include +#include #include #include #include @@ -52,6 +53,16 @@ #define PMD_DRV_ERR(fmt, args...) \ RTE_LOG(ERR, PMD, "%s(): " fmt "\n", __func__, ## args) +#define DPAA2_EVENT_DEFAULT_DPCI_PRIO 0 + +#define DPAA2_EVENT_MAX_QUEUES 16 + +enum { + DPAA2_EVENT_DPCI_PARALLEL_QUEUE, + DPAA2_EVENT_DPCI_ATOMIC_QUEUE, + DPAA2_EVENT_DPCI_MAX_QUEUES +}; + struct dpaa2_dpcon_dev { TAILQ_ENTRY(dpaa2_dpcon_dev) next; struct fsl_mc_io dpcon; @@ -63,6 +74,18 @@ struct dpaa2_dpcon_dev { uint8_t channel_index; }; +struct evq_info_t { + /* DPcon device */ + struct dpaa2_dpcon_dev *dpcon; + /* Attached DPCI device */ + struct dpaa2_dpci_dev *dpci; +}; + +struct dpaa2_eventdev { + struct evq_info_t evq_info[DPAA2_EVENT_MAX_QUEUES]; + uint8_t max_event_queues; +}; + struct dpaa2_dpcon_dev *rte_dpaa2_alloc_dpcon_dev(void); void rte_dpaa2_free_dpcon_dev(struct dpaa2_dpcon_dev *dpcon); -- 1.9.1