From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0060.outbound.protection.outlook.com [104.47.34.60]) by dpdk.org (Postfix) with ESMTP id 04D747CAE for ; Thu, 29 Jun 2017 12:28:57 +0200 (CEST) Received: from CY4PR03CA0100.namprd03.prod.outlook.com (10.171.242.169) by BN6PR03MB3154.namprd03.prod.outlook.com (10.174.94.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Thu, 29 Jun 2017 10:28:55 +0000 Received: from BN1BFFO11FD040.protection.gbl (2a01:111:f400:7c10::1:105) by CY4PR03CA0100.outlook.office365.com (2603:10b6:910:4d::41) 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; Thu, 29 Jun 2017 10:28:55 +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 BN1BFFO11FD040.mail.protection.outlook.com (10.58.144.103) 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:28:54 +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 v5TASSbJ002766; Thu, 29 Jun 2017 03:28:51 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Thu, 29 Jun 2017 15:57:51 +0530 Message-ID: <1498732085-18449-8-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: 131432057350753856; (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)(39380400002)(39400400002)(39450400003)(39840400002)(39860400002)(39850400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(47776003)(48376002)(104016004)(2906002)(76176999)(50986999)(105606002)(8936002)(4326008)(106466001)(305945005)(85426001)(8676002)(5660300001)(77096006)(81166006)(86362001)(356003)(50466002)(36756003)(50226002)(97736004)(189998001)(8656002)(53936002)(5003940100001)(33646002)(2950100002)(54906002)(498600001)(110136004)(38730400002)(2351001)(6916009); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB3154; 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; BN1BFFO11FD040; 1:PfwKykXtyLfTcYOzN+LhUPI7pR0ryAN+eAwek9oXJ?= =?us-ascii?Q?eJIHrB6bWFbg9YC3MdGSe5HF7h6LT9mYNv+294w8/hIJR1XsHtnElSfJnLDU?= =?us-ascii?Q?ZH9GdwyUV8JZv++Lqnq1iGXTnpYO1Ye68RtxUrKYCpDj1jPxMDma8Ca/jcCv?= =?us-ascii?Q?tV4/j9fuGeIaeofGHjtXIsKkA3jgGGoKEhH3c3t2gVEg8eeiN/XwAnZfswmT?= =?us-ascii?Q?NM6gPpyXoO7jM2S//Ggj24U+rp3hlps0vH33fXTE0y53saScOmxjCWUfADA4?= =?us-ascii?Q?Iry/wtJSWuL3LcvGvBIsjW7wAaFK5Dt3oWEPhPhojI/7gwc4yHRtVEw9HGAn?= =?us-ascii?Q?jqUikM86ecDBr05f1LVaVef/DtP+BstBXqF9dWAIOey/tHqzq10YF82/72tu?= =?us-ascii?Q?1uJtN+MGMIMDfmMQWtch4LuVs6Y4UcDVK+fAUf/9tX3kFKFnw4Wo9K8Ov7af?= =?us-ascii?Q?sOYRQ8f49BsXfCPammNe5IEwqEux7PEDuVqTTPsBm+y43KYB0hpzVnDx2UmW?= =?us-ascii?Q?WVc9zt2yIyHydk2zuwyNTl7S2JBFtpKQKMavWXcmTXSvEzfPGAUpVwmXAgOx?= =?us-ascii?Q?1eWEYSkLc1/PaVfvJIvbf07L0sfBn5Q6M0PeJx7zGMLbNXhvnHHytIwu4Rj/?= =?us-ascii?Q?k/i5QibgTlDKbOLlZf13PCzeFlOAWL2PipYw0WA3MPVH8HQudAe5xZq6HmyR?= =?us-ascii?Q?If1QOpIYPEINXBKdzycIspaclOpzEAbJ5gjFwMu5YsbmGHU208yH3JdXdRf2?= =?us-ascii?Q?8EYHk8Pnqo4NfvIiVbdrdKUYYV95GnI++LF+TxocIMFfe6c/PkntY9M/PB7N?= =?us-ascii?Q?C3W+ltWvFHJbPycr2o8TFF7hSVKpGBwy9ocSa9KVSdgIHhFrxN/BjgQMXatQ?= =?us-ascii?Q?W/cCOTCABbI+ZHx+Ke5pIYYZqu9MOhXttEkUDjYJrELT5H4WHenoJy34PmV/?= =?us-ascii?Q?fj6DUtZAITTMrV++baJbWHxfE3vFZvw+6+vcQoegcMvJFmAtYq3MnpSlrLF2?= =?us-ascii?Q?oJt4b+ltsjqKXmVAYz4/ho9jhDM7pJgmoSjfy1tbTAXnNsfcDK3qJpzUuI/h?= =?us-ascii?Q?p2tG+IKFjICarzPYpIR4WlPCR+o5PlhsQ7I5EPw+l5L5D5Vcw=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c715e4f4-7530-4d18-2ce2-08d4bed9a4f2 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:BN6PR03MB3154; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB3154; 3:7w0TEJvEWN227W4jYPLBiaEop0Vd+vx2S23O9IcQhEQKG3yCwFsk7+fNqj7RmmqqPWX8ua9Ql37tsJvGZiyR66oFGz9M2ZcYmjASO3V2t/I/V6FX0dmETIVvxmuLLQY0+dxQn6mTX2+BFPOI6BWUvR6rBQwXxnWKUPL4hWA+bYPfIHKqVkoDuahIuZYlp1TjKoQpdjY1w23ooIhUJSqxQarieLKFHIuqT9l9ntnZq/NjI73EV1MZ7V6yh6bYFT/Xq51C4r8AjnYgWmeA7ZHKTd04gatIKOlNsCTT0mv5DyIRRx2RhRvENkExcph/yAejgcNoyT7LLVJkbQ6HTmPS7xA9GzRBzLKkWOH4x9rBdXsdP62DSCVDvHzxEWJnzxu/nGgYLsjgqD3dSUqL7XleZst3mjUrIlqCANYl432qr5VyXPCbtM9NRZq/QkBobjJ9GTHJBEUFHknGEDwIUWT1a+77M2/PpqR3K+wJHlM8CV1rtOb5XQ7Bkcnq/2fUjENnPvdmhAZH2EmyYx974ChUoa91WPYS16IF2jECAgv05jfISh2snoOSudNsjOUwzwnMzcAMkzF+HVDBuWiV53thCj+831ljI6d1GyShaV8N9/AwH8eqydbHRZN46LfnmK4Y+4Hj1YFD+V9wQyLtxWMDtHuVUf0ui5cV2d0bHkUbohbM/enDaqxIHpSFJh2o3AlnJSS1oimbmkDMOGPWmv4zrCo288awfBkzH6/9xXMzplp8GYn4DDCHCpNToCVZmbcjrNBgIEcrH2TULkKqWv8wT947rxpER/N0YJ1wnNKC1xJMKNtoJsTO0VNxrEyWhsifo1x8OfyMEHaVPUYMkP0msQ== X-MS-TrafficTypeDiagnostic: BN6PR03MB3154: X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB3154; 25:ib4TIvtw2Q6AFujY4sJHVgfsBq6TOO6GtFXP1QUmvVTxUTcrwUf7w7Fcz3reydvyW/ammfmdAr5svHl0Ok9e7iFwyarUD8xSeKXa3dV2MrQ3o8qQIXejOgPGCJEaUwtK1srSgnOqagrTU5eepmumXsLierVL+oT2BffQlYt2BrpNwujujRp2aIV/97tVCJ5tNS2vx9yOABgPa9TAfKuBj7alrccuLZF80IaYojMAbPcP3imq713CiNZWTkc18vTR5kknM6gZwpJziJ+L10RJ/dTf8AOKNLP1gdYhQAN+gfj9cuDi9oj7Txv9ztZVAhaKMkN+ACf/oy9xbVoaZ09zVVGkBEpbHcF0ngS2AyIucaXJyexiPewxU7tznlnG6bMqHCCt4D0Xvnotuk1tZZkvAO8gopBYul0OmEaDhSW2lw9jXCwzMBDlsHZuz6wuMkSAjK5CaDoJa3tTgO2Gn7dGp95ML02Lkys2ERVR3nWbbl5x7sotzz3nwwnQVX75mcHMd4mozt1YluiWknvJ2ByHJeX3t91Nm39czDoNnxNFvWrWAL5uOz261cmaAeriiJbRS71lDDcT4VmP5tMHoKh2SITWDLxzlrsGG9a1Lp+bUkntPnISEf3IYsRLv0PJrhv6hQkSs1ng5u1OaHLU11KtAO4XkqNE7929g1eNviUf0lpq7CWaPCdzJBM5XMFC6LmNkRQM1E7EAw4Hywa+AbB7Y/hdRS96vUdUL3+Shf5bLeeqRBFL9pxJii8ZAk61Wg1d98d2k0nfbESqtcH0T6uobVU9r6pQs2hXSDx5BYSOYlj2ZinXLa4gRd/fMN60h8xnpiBOublLXnzo5zp2W7g+/ovA8BXGcpaKFesY+gCIYwnmR2EamUmhDWfr34nUImnCsUf8XFmRks3tx9Df3FD5233oanGrQH8wML2DrW8BNi4= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB3154; 31:TObuDDa6cCnCZwpu/BjGyif5kwRY2Rv0OLj4xzE1gt74u9dFX0j/KmyV123ouo999anQ6TbbyhxI+ptbJSM2pIOv/Ne34dmcqb/bQhi7gsgpWiyTcsi8XJbVEnrZ0Ln1S5COuujfAeV7nRgnCRY/mDgfpdaj7gRwp+Iq0D7qxJ1sz9XNnYp1FAjYOMbZT83v3e9owtjTeXZ2H9AmG3UJ/HedYp4t9BIQj/SPXDiNGAIhhBUtfBDanAk8DPf8a0ezjwE5CcGSuXbFRZAUVezros4YCNghnSRDsAxVjs3Ei5hYAK2CRJNvgktrs6pJNFy0FpMb26ykHoqIMMgDTE3w2qsbwry8p+oLpCUiFTGd7HUIcB8MR1OGWPkZ9AMWuvEhFKAUj4UaOSsCJ5VNr8iTH7vgjcdyp30ByFShVBKHaP1q0UKp0GN48OE2FysWIlky6uwZo+Ft7teOZcRl11Cf9PI5PpdtSuL4FkOK603lxLm+8Vc+KmEODUBuxsrWTjpnI8F5VeQXtd37mLDDsXpEp/ZC7WYqi4mCrqgWazDGdK8NJ26Ylr1nky+ti/YqsgRS6xr0t6SmZiFsrdL1Hv6IiuVyicC99q5O9xx2gBlJWsyeTz4NlISG7VjiwsYiqi6u9rmqXjWXuZBPD9eSX1KCnE0jFbEjPGOuCeqVq6mR9dj0la2ug7FePoYs9bxXLjN2ur5q9kqGeyDJr2dwEQniIA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(185117386973197)(148574349560750)(275809806118684)(158140799945019); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(8121501046)(5005006)(13016025)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6055026)(6096035)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123559100)(20161123563025)(20161123561025)(20161123556025)(20161123565025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR03MB3154; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR03MB3154; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB3154; 4:ym2MLGe3ipGPDFvWd8LsagvE40AcB7GdDciWzrWBmx?= =?us-ascii?Q?UpJK2VLWoA/uDi2LLTh5M/QqSup9eMSCIfoLjGXj1+Iy5e1eOvNpTSv9mKLh?= =?us-ascii?Q?+BJ9LvZ0i6ojLZ0aZFUd3bK2cQ9klIxVJ9ej1my4pGxg5Qrvk+6192i7xrPY?= =?us-ascii?Q?ld1NSrZ+0D2jTFHU9cuUX/PzClfnGsc5RTluXoZkcNRyCHY8gPhVI+fsWvuB?= =?us-ascii?Q?1uD8O+qkN6YObbYGqOFJ3xCWQb0Pd7ffNnOGpQwMs+/cWzY1hq6fKWwC+IZP?= =?us-ascii?Q?8PBdhMOwki7dwI4softp/5JLei4fVbQFjqmnQIc9FcDUb09x18OlChL7R3St?= =?us-ascii?Q?SobOM3AQ7Y/RQCl6NxGpKVVREBOZEvhHrbWgNmGFKwPZOqk+XVMw3GId4o0K?= =?us-ascii?Q?Q/0fYzqsyviG3Ko3sMuKM+yYJQDEy54c5SabvSdk1EpFNINdzCealw726I2m?= =?us-ascii?Q?jH63EySZXzeh6tLuzEFJW/mIHx5lP17JPGclwLx14lCKWwBiH4BOYu9gWtLm?= =?us-ascii?Q?ymTlHQHGOZ1+o7N0FoSV9TBTCSBtRRCUGd/2K3uIVXMpW06uauAMwBWJWpqw?= =?us-ascii?Q?NdDWmsZCHvK51FXQhBHQmYsofFs29GwyPX5UqcbaRBlcxMbg3YjmW51RGtUL?= =?us-ascii?Q?CRWXM+VkJCz3sfohfCX5C3tbU2bU1LO9o6QnBO+ZH3icyYT6U2eAZEeKe+cM?= =?us-ascii?Q?OxfHEMN4R72LCDwhcwO56Ck+ZPhBU2fSUDX4dkbskuuIzXhgapvNs2VSKp7s?= =?us-ascii?Q?gGtyh5pZKxTIsIEqTFSA22F135xPRewkguItaWlGbFkOBxJjlHJtETfN/Z4Z?= =?us-ascii?Q?tZQKOaGuxMFUMMtBqyRco+ueBwBsXG+FF1nRH0lZxeos5UxSZKht1ZbpCdfk?= =?us-ascii?Q?l58ZjofG2MF7FoG1qa8G+Mr36LoMqKunuHDvYoXM2BdbjsvEG2CzhoSEEqp2?= =?us-ascii?Q?oN+lKWdsPv5622Z+cd1kx8wskmR7fBW8Iv2y2HOQUeBQEjIauOIFMapoXfJ8?= =?us-ascii?Q?DHihbiagKlh80k5iFegkzbJ3MHDzrQVc2u1HoqSgQP+ne3HxnPn+Wq+1kLD+?= =?us-ascii?Q?qvpadZh30N2i8LCT47HHQ/ucdHvjh7Fg/7UTV/h1P4k1UmkCbOHmwqay//NK?= =?us-ascii?Q?7tjnT8sD40X00Vpg+k2+B8pk+QstrU3c4ocVy6o20PhHsd1gQZ4Ri6pNeuWV?= =?us-ascii?Q?ko1wmoAzifnwJ22Kbk32VEiV5j7UdGfMgMuZzwuT1BzJsYDmIEA7XgB5TDP/?= =?us-ascii?Q?yid/XcEG/J732/tZOYOtitDEch2YZW9bPqx1GdEeV+r3axECCria5KLUzyaG?= =?us-ascii?Q?gxTPgAMNVZstnw6rL29k+1MgIKSlXVa0+pmgvwmkOgPRdegquhxjpY0y0unG?= =?us-ascii?Q?d+1G9Dn2x6fpip7aDmJ9KttlQ/CoAMsZNLtuYyiSEGSafJ?= X-Forefront-PRVS: 0353563E2B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB3154; 23:psFqE8ivOBtwVo/QOqTDSCNgxWGtbJqC5tsmab45/?= =?us-ascii?Q?P1jGAjWCcJb5gvhzpivlF9/brYUEWrWJsZ0G3va+5fkSFaKAbf9V/bP+DaF5?= =?us-ascii?Q?doinDBOOCmHOHSTCVdLgFtf4qeG+EOU9K9mrKE3epEq/jk5k6LTTpY3m3bE8?= =?us-ascii?Q?VjICkYAzt/FcgOIPbHJYbLE9GTLRqFIIUYsk8Iaw/KFb5LEgCVU4v4D5n7s6?= =?us-ascii?Q?cDYo3oMHs8UfHA1PKjA9YUAoQP5KgcBjAg9P/toDFquOvwlBhgduqVroe4po?= =?us-ascii?Q?t47K96jYjy1Gu3WoRgXF0SfuLGD5rZo8ldRB/RCjedBSr/8zVcAKEGCwRwZG?= =?us-ascii?Q?2bhwx5ui07mQElaIoUK8OGmWFnm6tkywvHbGJDQYDc9szH4yLI3lWv92adgu?= =?us-ascii?Q?Idn3alsQKfp8lzofe52dJVhImmAiqsh00wMh5CSFWstr1UMkN0PjMGxyVtvs?= =?us-ascii?Q?Net5j5lC+XmpqF/pR4RfUpAhXEsUNAQjsGT8GweWtcByGbzUSYh632CUGJ0h?= =?us-ascii?Q?nFZR6K1hrSUOAf/aaV/Qw3jMrzcBY6dVDSaLWPDFWyHlZGfkKM6qUo20Uu+U?= =?us-ascii?Q?3ivvI7S66YxK8Q96dbrb42jBlxfTfEGoKl91Mzey6nZDxRnBR2buF685+cj5?= =?us-ascii?Q?a7Gq6CTAZ0Xcrez+UmQT7+audprKlTMYWO85P05Si8Or2Z8vBmpoXsDD6DiW?= =?us-ascii?Q?XU+dzwQqDrIQnhg/7L5P35INNhMBMyyRo/Blwx76HTntb9eBAeulKSkWMrNx?= =?us-ascii?Q?lWkDXb1okw/SdRTSDbngA4ntOh8GvWFwDT1aFeI9C6uEE6Qb78ZS+AtCFpxp?= =?us-ascii?Q?5gZ5W4LUET1ovWpaYtZsV92xe+0x0Sa6V6Xs2LVyymsQjS9Sis5ockobPtro?= =?us-ascii?Q?T4Y2BO5mpTunnbA7Jx7tDZybla+XpuUXQ4GdwX6kc2CaL5A9LUKJ4KgQINdW?= =?us-ascii?Q?0s2a+O61OWb9ivR57bX7sVkBZsY9FBxdJQ6GmZvovcYnL55M3twmSea/fqo1?= =?us-ascii?Q?SpUPirnf4T5hHcD2+CJ8edtATzIvRauBKl48rChD2VJHRCilTk/CKLI+ZvFV?= =?us-ascii?Q?uk8hbosdR2HpANhg8ixcPIvOLBOWT/sTe0MgzdWFjiycu4mmq31HYRWOWSQk?= =?us-ascii?Q?keHZ9QC0tHXISQfFVtOGeiWu5lGdX5JIyBV6EipxG2bPsMEsMOYMLCgbWBP5?= =?us-ascii?Q?oMZ1mPQCL9UgTDk27Ge2YgL38QI1jU9DmNqmQ9rUBpDesiuA7joIvNabXdCG?= =?us-ascii?Q?3F4RwMAC6IQxyUzrZE=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB3154; 6:pgQ1h7ng5BaHD3PFJUF8NBV3ypTtbHqsRVqniN0eo2?= =?us-ascii?Q?L12o5MRiad/ZPVsrBuJSUxJbs7Udj6mKVaGZe1OMAh43idMH5A3puMWYHzQY?= =?us-ascii?Q?zKNThrKDZLWWb6uLxHelhKqJdMNgiDf2KVgmYMBCQtSZK9Uq192eL+SjChLw?= =?us-ascii?Q?bUPnhZgIl3eXrm/zn5ae2y59o4ZlMTFxfZONIy9HXMkAUbGxWCXTDqHUEtJ/?= =?us-ascii?Q?TVGvE20KHCCBbwGk60Q0oiUb8GC6qR7DWNw18fAnDaK2RRqimgmAA2k/gBc6?= =?us-ascii?Q?f1vaH+7anbbIGa0L/CnwL8+8WmrKkV6P1IgkmuNzR270cI4FthJRWXhYmuvx?= =?us-ascii?Q?3oxjo6YUlUL+C5nHaqBDhC/kZI7qnhnzHZspHEguJLGIZ9TC9O4tpikIr7OX?= =?us-ascii?Q?xwCCH1tf8l3FGAm6h7u+0Mey4G0dMfhGM7GcM92jhGUMG7DVuKUMZVPrZjQ/?= =?us-ascii?Q?XRDpYNy9PCzFv8NPTk/IqeYGVzL9gKMPpLwHeWfD2mJbqZqJUwlUIRricXwp?= =?us-ascii?Q?C81KKQJkiPDoqtyPXocsEPVIyOgPBBt1FnKZJdNv/BirpO0uLRMFSV2+P5OG?= =?us-ascii?Q?CjFwYFBjNQWLjZnNyS55hx517AVOOvvYyzyRg+PAykEpoKIOPyGSL6okqJkA?= =?us-ascii?Q?iOk7fYwFGLH5vcC0leO4RxA1vdSy5rruR12+zx2qLiI574zJj/ud6XiK+ZiE?= =?us-ascii?Q?kB/zrKf9xhLh6nSDdEH+DTbYIUsTLNmXQNPFqMETFKswOt7Qus2CmONdx22y?= =?us-ascii?Q?9dKwkKmnjDzdYDx1BbUxKzEfTzZU1Y6IDk8Tsy50Qlq0Zy+NIhF9QAjd3mc0?= =?us-ascii?Q?ZLYMNWHHQN/ik9twgnJkECJqOp6hAyhoJ+/qwpGUwbzEXyURkwz1sFIxFm6M?= =?us-ascii?Q?zQq0oZI/MyFjNlY8pBa9NGKaSSUHJqpV8igWtSAnUqpLvO8KE30HIHkz46G2?= =?us-ascii?Q?+wjEJhOAtGnUmzMJBUTGb7UIAIy5BpZpVX6TN/7w=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB3154; 5:gt2NgOPuVRCFMxJsBDUS14dvHUyjIA1EFT5nouKZGQ144T/fAOgIcwkLFLqqfNhFqqwQOh/SucT/XhtId/urX8f5RjoyY4AvF42lom0qRbSo0M4RBkCcXEFdW9y9TU+3qwXvCDfUondDUSEHUCpOHczMLg1bHJYEKgjdzsAIWe+h5IOrcJjXeuIal153QSr42XOtfVW5H0pMesaxlzjOgKCc65FSfRhyVAX156zz+EsdoSJtjj8yt5VlP6SQ9gOib1y+cmwhYBDZscXfVI+qW4S7AU0W2pLmTy3Yb+TeTAUeey5G8DX9I0da6hGMy6GpxyIt1SVlrPLqzyBwUU/E5ZSHlCXFRYikAP2bpfZXojVDjIpCqctRG8lzBJT08yw5CO4HE61uRK7uq7s4CqpzqRn4ePVLhmjhCkR+FCmarYTinfqb8IYBDGk2YyQ/IMjw8uYRFqTLEnOpc/eKKGMTQoKur0RivgMhXPTyf9wKYn5HMsihE/z5KZrrQLXmKnVOvGfQSUAtFBM0AZXZ3BqTuw==; 24:oMw6TMPlTYF2josbC0TJJKRz69OW27cMgZGgl+vbyyyaqfFL0oFCmZn/HlHkstOTz/MWCLJU157belCdoGg6l/GOcC+GvThvsOy2h+iZUdA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB3154; 7:SXneojKFcR9VpxLaRUXq9q3OgLMqJqyc44Fs+tZRD99fWrBBwH4cmI/Du8PTbggG1aKG5ctx17r3lwjdRrIjKWDddlchNjGSaHFFIMtRu5b5AGZk1H+n/8vfg3ejoqgIIpZqXr+UQCPw4zBFJQnOJ1XhboLT1KNigivB0STchzuVUHG9G93erQWwWb/GocD4qS4WNRmiCXSTxCgEolocsnoV5V0479ZtcFIKxvWgp+f3XtihHijlQw2sIB0AQhfN6HdAsdWSe1W+KxeYEtaYdzdomPQiviILr9TdbmwLLX5DX5gVr6u2J+fENMYup2F60Za2dglLojxGeTJBI3NLQ/rYYO9WNJGpQFs31h2aGZDvSBTFCA7nPHlP6MrmFOCfC/7/9y9pa+ByHW/LKxo4xoD1GDHHuUhXf76FhPZOFMirqiYu/Yib+c43rktuBNG4VbgaBP7ujk/9eC//Jx4jLwDQJAkmij4MqJ3jdQiR0P07hWz4FUUEZCBdkVwd9nyLvaS0vBsTsZ/TWSHKv8zGFL21c8PD6/pAOekpHM3mrHfdPQlAE9C6AWqq55RQ8u+YmUyVes+XhrlQwKkib8d93O0ql+yAGbdkRdZttc3ouyIBjvyU6QhOdkK1IZiJfZoFI7vRKgII4uKtosGq13dMWGEe33JIVUqWbX/rYMWR+3aQjzLHIMv/czuyqge/G2ayVGmQNFFJlHAkj26LMfGR6+bR9iZ3SiCD1XgP5SOvSPpB6t+9a7FzkFN0L2iAeukJQ4u6snbrxjKQXucK/frSg9JjWsMDjLVPZNPDl+WlIOs= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2017 10:28:54.8881 (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: BN6PR03MB3154 Subject: [dpdk-dev] [PATCH 07/21 v4] event/dpaa2: register dpcon as dpaa2 device for bus scan 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:28:58 -0000 Registering dpcon as dpaa2 type device handling initialization, allocation and freeing of the device Signed-off-by: Nipun Gupta --- drivers/event/dpaa2/Makefile | 8 ++ drivers/event/dpaa2/dpaa2_eventdev.h | 18 +++++ drivers/event/dpaa2/dpaa2_hw_dpcon.c | 139 +++++++++++++++++++++++++++++++++++ 3 files changed, 165 insertions(+) create mode 100644 drivers/event/dpaa2/dpaa2_hw_dpcon.c diff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile index 8a021ca..0566643 100644 --- a/drivers/event/dpaa2/Makefile +++ b/drivers/event/dpaa2/Makefile @@ -38,7 +38,14 @@ LIB = librte_pmd_dpaa2_event.a CFLAGS += $(WERROR_FLAGS) +CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc +CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include +CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc +CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal +CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2 CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa2 +CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal + # versioning export map EXPORT_MAP := rte_pmd_dpaa2_event_version.map @@ -47,6 +54,7 @@ LIBABIVER := 1 # # all source are stored in SRCS-y # +SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_hw_dpcon.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev.c include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/event/dpaa2/dpaa2_eventdev.h b/drivers/event/dpaa2/dpaa2_eventdev.h index 959f443..b151502 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.h +++ b/drivers/event/dpaa2/dpaa2_eventdev.h @@ -34,6 +34,10 @@ #define __DPAA2_EVENTDEV_H__ #include +#include +#include +#include + #define EVENTDEV_NAME_DPAA2_PMD event_dpaa2 #ifdef RTE_LIBRTE_PMD_DPAA2_EVENTDEV_DEBUG @@ -48,4 +52,18 @@ #define PMD_DRV_ERR(fmt, args...) \ RTE_LOG(ERR, PMD, "%s(): " fmt "\n", __func__, ## args) +struct dpaa2_dpcon_dev { + TAILQ_ENTRY(dpaa2_dpcon_dev) next; + struct fsl_mc_io dpcon; + uint16_t token; + rte_atomic16_t in_use; + uint32_t dpcon_id; + uint16_t qbman_ch_id; + uint8_t num_priorities; + uint8_t channel_index; +}; + +struct dpaa2_dpcon_dev *rte_dpaa2_alloc_dpcon_dev(void); +void rte_dpaa2_free_dpcon_dev(struct dpaa2_dpcon_dev *dpcon); + #endif /* __DPAA2_EVENTDEV_H__ */ diff --git a/drivers/event/dpaa2/dpaa2_hw_dpcon.c b/drivers/event/dpaa2/dpaa2_hw_dpcon.c new file mode 100644 index 0000000..27f5bcb --- /dev/null +++ b/drivers/event/dpaa2/dpaa2_hw_dpcon.c @@ -0,0 +1,139 @@ +/*- + * BSD LICENSE + * + * Copyright 2017 NXP. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * * Neither the name of NXP nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * 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 "dpaa2_eventdev.h" + +TAILQ_HEAD(dpcon_dev_list, dpaa2_dpcon_dev); +static struct dpcon_dev_list dpcon_dev_list + = TAILQ_HEAD_INITIALIZER(dpcon_dev_list); /*!< DPCON device list */ + +static int +rte_dpaa2_create_dpcon_device(struct fslmc_vfio_device *vdev __rte_unused, + struct vfio_device_info *obj_info __rte_unused, + int dpcon_id) +{ + struct dpaa2_dpcon_dev *dpcon_node; + struct dpcon_attr attr; + int ret; + + /* Allocate DPAA2 dpcon handle */ + dpcon_node = rte_malloc(NULL, sizeof(struct dpaa2_dpcon_dev), 0); + if (!dpcon_node) { + PMD_DRV_LOG(ERR, "Memory allocation failed for DPCON Device"); + return -1; + } + + /* Open the dpcon object */ + dpcon_node->dpcon.regs = rte_mcp_ptr_list[MC_PORTAL_INDEX]; + ret = dpcon_open(&dpcon_node->dpcon, + CMD_PRI_LOW, dpcon_id, &dpcon_node->token); + if (ret) { + PMD_DRV_LOG(ERR, "Resource alloc failure with err code: %d", + ret); + rte_free(dpcon_node); + return -1; + } + + /* Get the device attributes */ + ret = dpcon_get_attributes(&dpcon_node->dpcon, + CMD_PRI_LOW, dpcon_node->token, &attr); + if (ret != 0) { + PMD_DRV_LOG(ERR, "Reading device failed with err code: %d", + ret); + rte_free(dpcon_node); + return -1; + } + + /* Updating device specific private information*/ + dpcon_node->qbman_ch_id = attr.qbman_ch_id; + dpcon_node->num_priorities = attr.num_priorities; + dpcon_node->dpcon_id = dpcon_id; + rte_atomic16_init(&dpcon_node->in_use); + + TAILQ_INSERT_TAIL(&dpcon_dev_list, dpcon_node, next); + + PMD_DRV_LOG(DEBUG, "DPAA2: Added [dpcon-%d]", dpcon_id); + + return 0; +} + +struct dpaa2_dpcon_dev *rte_dpaa2_alloc_dpcon_dev(void) +{ + struct dpaa2_dpcon_dev *dpcon_dev = NULL; + + /* Get DPCON dev handle from list using index */ + TAILQ_FOREACH(dpcon_dev, &dpcon_dev_list, next) { + if (dpcon_dev && rte_atomic16_test_and_set(&dpcon_dev->in_use)) + break; + } + + return dpcon_dev; +} + +void rte_dpaa2_free_dpcon_dev(struct dpaa2_dpcon_dev *dpcon) +{ + struct dpaa2_dpcon_dev *dpcon_dev = NULL; + + /* Match DPCON handle and mark it free */ + TAILQ_FOREACH(dpcon_dev, &dpcon_dev_list, next) { + if (dpcon_dev == dpcon) { + rte_atomic16_dec(&dpcon_dev->in_use); + return; + } + } +} + +static struct rte_dpaa2_object rte_dpaa2_dpcon_obj = { + .object_id = DPAA2_MC_DPCON_DEVID, + .create = rte_dpaa2_create_dpcon_device, +}; + +RTE_PMD_REGISTER_DPAA2_OBJECT(dpcon, rte_dpaa2_dpcon_obj); -- 1.9.1