From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0053.outbound.protection.outlook.com [104.47.36.53]) by dpdk.org (Postfix) with ESMTP id 0B8DC7CC4 for ; Thu, 29 Jun 2017 12:29:09 +0200 (CEST) Received: from MWHPR03CA0006.namprd03.prod.outlook.com (10.175.133.144) by CY4PR03MB3271.namprd03.prod.outlook.com (10.171.246.140) 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:29:07 +0000 Received: from BY2FFO11OLC004.protection.gbl (2a01:111:f400:7c0c::136) by MWHPR03CA0006.outlook.office365.com (2603:10b6:300:117::16) 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:29:07 +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 BY2FFO11OLC004.mail.protection.outlook.com (10.1.15.184) 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:07 +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 v5TASSbN002766; Thu, 29 Jun 2017 03:29:04 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Thu, 29 Jun 2017 15:57:55 +0530 Message-ID: <1498732085-18449-12-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: 131432057475972306; (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)(39450400003)(39400400002)(39380400002)(39850400002)(39840400002)(39860400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(9170700003)(8676002)(8936002)(38730400002)(81166006)(2351001)(2906002)(50226002)(47776003)(86362001)(36756003)(4326008)(8656002)(6916009)(2950100002)(6666003)(50986999)(305945005)(77096006)(54906002)(76176999)(110136004)(53936002)(5660300001)(33646002)(189998001)(5003940100001)(498600001)(85426001)(356003)(104016004)(106466001)(50466002)(97736004)(105606002)(48376002)(5890100001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB3271; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2FFO11OLC004; 1:NmtpNziXhDi3soWiVvgwp1jbPtH22icnEZknoD34I?= =?us-ascii?Q?VkOBvOXnAwPPKXUhA5pfQ4hlRSmTG7DAeB7PLDQ7aXYepGfB2sopWbylEXZ8?= =?us-ascii?Q?bvZ7Lb9V8Ns/weGrFGwa2ZVDR/1ya9nj88592+aUwk0cwNPJYd6oVLC7miVx?= =?us-ascii?Q?CJvlRwKC4bxSJ/243gsEoRZw/ys6546LV2JmRMiM2MRc0iN+jm8eHDuwIBDH?= =?us-ascii?Q?wO7TlUXFSFmLlU+JPJaCgIygACIUBLBd5Z/1S9TKZB9yqKL/YyY0mVcOkAqW?= =?us-ascii?Q?34JCLxxFy8MYAfVIiZK7nta9L7saSzDab6cq4v9cHpuSvdOvwDhDnoNQyUNR?= =?us-ascii?Q?Fs7awmI9Eshk1YxGxV8AJK04s67Cb+ueuZ5XIZ+YYddJhM5vb/iASjEmnix6?= =?us-ascii?Q?Sr8yNmlVss2lfxxaT5wzkshOAqHhaPwgIThTksH/9qwf+PsQOKFTGMSowV/b?= =?us-ascii?Q?qVX/gc7h0bw3JL16zGSZ5HxlJImENKz5HU9VJKWndnMsvIGU43JZ6kwxV/5b?= =?us-ascii?Q?qqbVGCzbdF9/5zt5xA54yJ9nfjSD5kf/kwZi9dqUc59sDsHTLDJ5JER2jNwH?= =?us-ascii?Q?gku2wGu6V0xdpZ2E1050yOzLytizHIfvs13mPSC4bhVqMTCpXvtezZRM9Os6?= =?us-ascii?Q?tLDK4jUdndcyGrOWkYZoJDzP0ugEhJfwYSAuIoeNcw7q+ALlHB2YOVm0aOB4?= =?us-ascii?Q?EVUDVhUKTWcjU5xdukcW5JKEgXjquGj2fOlubd/3igl9osgISi899dAf+LTV?= =?us-ascii?Q?gNX88pqiWKhnZQiE+DizjYCYSZZ6h5T+UCcx9PFmm/5Pdd/YOr4h+M72tmiD?= =?us-ascii?Q?3EWcfILxGJ2xPa+usgwnE7wnpSocLgxq5KLRhck5a1WX+eOBRBYBpenvtWll?= =?us-ascii?Q?1UmDTnaIGpQxKOngjjuUuD6xy5yxdA4SI7/sElS7oZIvvTyRQE1IuO9o74U0?= =?us-ascii?Q?1jTt64Tr01aaFcMJ2DtW9zPae+61zGDRG5fhv9Xdaykx5Xx/0V4y5jL67gtj?= =?us-ascii?Q?z53aLu5c2lXZPwW2RbQqmfVzun/wfgOR2Sf5b0/j8hLQ+1bL3pjANMLnoV8f?= =?us-ascii?Q?DOn0msGP3KGxpyu1jwbVdIjlHY6B4ZD2GUmp8kXcgKfci4sSA=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b659ad62-7d5c-49d7-db74-08d4bed9ac68 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:CY4PR03MB3271; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3271; 3:fCzjPHhwgUG151rRPhqlvy8KCTB8/OIVrspg8yR5Aeuv8dBP4+ftansJCM164yEfmBQNHEJVVFDZ2p3F24UhUP9tULG5mz5zEuj+6mXpGpDjVQ5EILhQh4uo+t1i/qHEbeJ85kJft7pCs4Cb+4eZWYYkAu0wNCguskupX6Pv7h/YrBrzQ3UkJWu1as2hk/V997/CzpVNs3TxnuUztW//mCpr6oVb9q7ZhE4byvHFUFegvXcPDddkP2NGD7Gvj7424nYBCM3Ds+rkETD2/tquZ0n8PaBzPb6i73WKPfMAabGaByGKJNl+XajgLug7hM51w1yx2ylmm87e5FyEMQJwnZvhtPx6yy0xSaneqqtrrJDxolRFlBQdPXWFdPi/zO9pd/jvGoE0p8pFtxP2Oaa08aZkinaFz0kIALm9zRfdRfq6r81gy28qpGFdS4sxBKaNCfnQFUfVA/GI1IQUjreVDsGNJAg73beFX1dgT9y7+Qk0bvEHaFW4ikSMJ9vOchuizTz1nHr9S5TTrBpV4yls+AwhhkLa/nCftxK6OXBLHzCokX07XuggbQGuUr75fWCP4Hjqq2s0VBUTRcfYQnxDPKMBxb5D235eWfJDvBT02ShnIiaS9CIE9oj3mkko//MOhQVkjUJLAz2Vz8m+EkJpTsifonLU9nAby95fsNiZ7X4lbdpM+P5711VgFVvqeBhAoDIYbwi1IFs4nD99dPRChBDOoXkYI6W56lsbQ2RX594yY13zvaNSB/04UwUGv/fSFgY8zRuDfra9llaRF96iuV2b49pNYum22rb+eYaoN2mU43D6glQ15QHU8wq0EOX1krbwbFr6hKdF8NC65h4OWA== X-MS-TrafficTypeDiagnostic: CY4PR03MB3271: X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3271; 25:kIdL0sEPeM5QP6ukohTo4pCoJv9tFO6WtnDyHn7DEAKQkU0Z3PbbwddXOV9/2JOwMWh5/foFzBEKVyc2oOfG1eGDud2yXiqulOj/sTTKQMCKYEQmIP6UxXXRCIKuGOveDYQvyv6biiV07dwgFKcNipUeZFQ6KMDZ/kNW1vWEvaq2KTVSHffa9M5r99LQ3ilwOiV55Wt42GcVlPQCLsKrSa30+3orcr1rafVzyJqNN0BuIUFwMKwO594+b0b1yQY7BTWhHrnEK+B4/spdyI9pIDpw1oZ7ROI4jzA114uc0AddnneMvj9s1qsrcpz9ccTsx63g5yG1xVRUJBUQrcP36oye0qsIkO6rVt5W4qRP3XslFr8kL6pCAmwwU8izDYJow61ni8qh/WO1w7s4vZUY848J/MXyfZmomEWV1Q8L9JRRQOkHZ4HITyGog74XiR+H3jOfjzDtuC93oi62DhkGQr+howE/Hocmn15rNvqonF/nPh1EBXVeAliSHusBJ53hMXzqd0XJGaWE7jXPEVvZ9e4OHvhdR8wDJQQNR9C7IhjwJCkr1nrFu+sgE93gEFxFfklFqlGNQPY46nM6kMJgDuTylQ3exmgAPTAhUL5dxornj2hxjFMSqbrjJa00OlbD9pkPmJpkAjnJj3J0CWQGVAlIY9e9zrtxsjW9UyHrBQT94Q66vT4PrTOJPiZwmPOqNFYH01g/KERCoCAo5S1CNfypvp6mH4KAFKedbFJGi79kKv1HcItpXvLjGWzL10qTaXQVGjyovckgU1vijUqCf1CaMsRVkoP5DoiFe1QvCSbU0YHWGG6joH5ebFdhm2EonJG3JbrNqPak6/Z21uIP+5GE8UrvR2F+yYgX9VDbSqGwdVbSiNmo8eRm5IXEXta1cL1gr1719CLoOo4iLAv4o/v50FxLYM5dNNiD04r+29E= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3271; 31:F/Jo3yrxqkZhn6rn54AlhKDE8OOon8yKi9i+8nS9n4jzRzELpb3KDbBFI3gLDKJhvkH9vta0f5VkVfenm2WuRhHbl3jsuVr+s0ByPomFNbKJUUoWCImt0/nSl5Kq9cQaOyoA24smy1aVFlMa81i8vcKbJn5y1XFYdJw+g/kOUelkxKUgDzHibjlyuq/tO8PvANyTDZj4ClYGZNFAFcv/UGenQSMx5SNVhATZm3RqieG8GVltgUdEoYF/xQp9J5KccitL5yAczO4N5X7f+NMgB6KnP4gA8UiTxlno4LRtu83W/uVsSM6pBWZ5lBjamhRzN5zjb3QpLAD85CY4dWSJ6ksGkNCwSCn7XanBAhSw+4RX/SlPLPRWAVWmcXcBYnGSS+HK5qy38TuXDmcDrweZC+OCr+CYaZss6HbIw5F6q8uzs5ehqUl98XGTyRg0RH0jvNMCe+vm4Gi4fLEvJo4tqDqCGmoR2lP0Ni8D+eOF8qhVEJw0k7kkrSinl2xtWdW5CMPR8pQ6h0CtPS/CqrPwilSQioIwn/36bUbyEP8iDOlFetRIb1B6wM+Hq3BPwU7G0+EMJvHP8QHUD9ZAj5Rh/A8mnvKXXzdkmI0VllPKcDvv2dgXprAibkb8WChJTBbo8tsMbaCozvd9NIrRnHHHlF0WFxExf7d6I8FsCn4Ork7ZX6UL8j3O8pDHPEzl/s4o 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)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123559100)(20161123565025)(20161123556025)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR03MB3271; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR03MB3271; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB3271; 4:rDkTYyuAdIFiA6xUlxYR6MWIcn8tnnSjGjnnWg0g3K?= =?us-ascii?Q?qNQudVlX84ynU0CgKVTC7X4g1YQoA2R6zkkBH6ZRiTy/l1fR4wq/n4Lpwb95?= =?us-ascii?Q?hYPY6Uo8A+QOQzUUHI+a3wKvY0E1Vp4rDQr524un2FZf7GiMj9XNjx2X8/37?= =?us-ascii?Q?S+uVR99a8GXK0Pj7OBjeULUTgFyoQ8U9Y98onzp+p182ZvhAEImwPjbGQB69?= =?us-ascii?Q?gvCEyQAj8y+Ad5gh8HTLC9B8c+tzTyGNyqaT8Pz+JCbhdVs/whQweORn0iW6?= =?us-ascii?Q?mYcuCazFNZLxiuC7GSWb8AiHI2lLlxtdLieH1CgCFaad84BZK0/QzUiPkoRc?= =?us-ascii?Q?I7pwU4T+xYyb08EyTdCp1dxa0HC8qNCb3wybj+E/aF4z2s2R4Z74qhGORabc?= =?us-ascii?Q?iM4jlgmTeZKVN+6KjDdg8RU25zko3Zc0AeKUXp9Nmr6uESfEeZf0KsK9xq1I?= =?us-ascii?Q?GH4p90DFLbHdtuul8623frLJ5uR/iD+YM8EQwd4q6yFvrGxqMj0hrXO6IsTA?= =?us-ascii?Q?d+Xxt0Qcj83KQrbUKVeW6HYJf8sHAqZl//gbd0yiDo/VhrM3/RDmb4kNcoZ2?= =?us-ascii?Q?PZqXKZFjbaGp3WsI4embcDCJm7CFKvLnLT3NEzX7JNBVAKR+2HkjKfQQGHH7?= =?us-ascii?Q?VkHpUYTKi/Jfg0gd8zEAVK2aiGvqbUk3JOCL2wyzCgu57P2jY739QsUGTPCX?= =?us-ascii?Q?fXvvC0NHHstqvoRW6Ndunx8DA7eR718L0uq9jSBMWOjU8ttBMbZeJBUEpRbT?= =?us-ascii?Q?UueSVnF9Yl5+sbpYe4OfhzxMpIzjiQS8ir2Xwt60hNiCC0ZoZkuqGoVWB/BG?= =?us-ascii?Q?CyEw3ReYwZidQKNYmWPrzyGl+5mU3QcgWmRX+E9BVaHLp9niHXRyRycBV6P5?= =?us-ascii?Q?X379LhoITgcE1GovTAD4wupuPRWNRw7ZqtuJWn20x7DKfw6+XgJM9RTHBwUL?= =?us-ascii?Q?kngjpw6LP5GVhN59gyYpwcLYW0AF/9enAQPdQDv8pr0brayBTYoagDPScLWZ?= =?us-ascii?Q?LqJIESGlkiyngF7g33P5XQrD/olUL3tbWolW+khMm2X+u89xKDx53d+4PFKO?= =?us-ascii?Q?fGZLAXn9y4/rwYOJXrgfrVdy05JCBz708HuM4vC8BgMTzpTwT9KhqtM/QrAR?= =?us-ascii?Q?HT8WiXd/VGOPHINbUhsQGZ8JuhUA0iNPTZBX1G4Yu18ATCox9Hjle/wORhJ8?= =?us-ascii?Q?KCad9l/92EBXFT9mlq6Y5H0IwSs5aNzFEAxEjqRUNFNH+tUZ4uSCDdMJlbuC?= =?us-ascii?Q?d15PLj0gxe6O2Fint8be8vwBV+Lxaqh2ozv98QXeYyOP6nof7KNHTEg8BjKY?= =?us-ascii?Q?Fgu4bjkPDvgSZnqFrcneITktAN2FjBsI2VePPQ2Lfu?= X-Forefront-PRVS: 0353563E2B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB3271; 23:DYgM1HV7YwukNod0NljXTPor3wTGl17qDqgdoaClK?= =?us-ascii?Q?FwLyH3sY7o+dtKkcOurLtQRKm+LMaH0x1RYFIc60iPIL+HzNa4U72Y0/ILsV?= =?us-ascii?Q?GFxUMT3DdCoMmcKAlOtfTEKYKPAekokrKoLfj/zIfpLiMxhErVlM9TbG6tH3?= =?us-ascii?Q?W47kKMAQM90HO9RtVadq9DpfnvbXI1boKLPwFPS6NIqq64zfg8MYRDSUPNdv?= =?us-ascii?Q?aEJRn1ABiADvY12dSzsxHn/BiQZbZ+tTdc69/SdTKsmzhqzruCqiCKhyH8OM?= =?us-ascii?Q?Q8u3J2aLwNqe0G3FWbc1XFwou2Nr1kIf4Ml/uQS/ZfNR7FszfXUsrZ1wrGPM?= =?us-ascii?Q?kUTjxjOup+Bra7JMTD4fprUlghyBPOhSiDXO5Xi56TMwzyCxvznv0DkZrkPY?= =?us-ascii?Q?w44g1kg1MMm2KHQwdXui23glYs6Zrz5S1Gx0EZpd9ruJb7YONMYf29OJOLaI?= =?us-ascii?Q?i3l05BS0bDTMAmza/WX9j6kgxWL9xVOkjJ+lTyMxx8NaXU8iYmLUca4gXNHH?= =?us-ascii?Q?rMaNFHfmJ2x5sG8KPsJb7g/qQbJnhHq90TX7V69PKxt7/FLNaVmJxAxYU2u/?= =?us-ascii?Q?fhrrNAJFg9qMXH6H2oKeMlDLBRJqEhyi3quUESj0i0N23YxFivrsNvNKgyLm?= =?us-ascii?Q?XFkl90ceoSAxYgRJh5Ve8edTa1jMzfWTpK/QcB1Bm3N3gkIZ7o0UYSXhkKkE?= =?us-ascii?Q?AGoeD42jz7dND983dKDIzSgJX6n/lOL7l6REtENNo2Dn4Vuvdgx09qRuB18C?= =?us-ascii?Q?W0RHAxp42+PpD96FDDB0Ha0zNJ+YRw3YVt0Hwx0I78P1d9pQrLg5qYahqxQ2?= =?us-ascii?Q?n+cVGQCZD47XkE5zhuogBt6ZUt/f50SqvlRNLxVJWPp6FNZvS7UrNFhdNjGI?= =?us-ascii?Q?RRk3JIp5uqKv7Zja5x8B+mHZPZGOTFjuJkQJ2x4RAoPIg/Q1xYmqdyJmhaEZ?= =?us-ascii?Q?pTCfnTuS6O9PYQ8ZJWc59ICpsjd9eNF1hw92CFpVhRLnoeVJxUjEAl5ndR8t?= =?us-ascii?Q?KNp73sBVRvjtHtU0PkrUe2e+5DhWl7P4KSp2GwEXjm8856boo96Or3Stvf+b?= =?us-ascii?Q?ST2bj/w6YNb3v+kgdpe85fbn0yRoxMbpGd+Y7ATio+OknsFSoesfLyoCDO7E?= =?us-ascii?Q?3LD0Ya+xppDaJV/WwUG6UsVXsxOxTQvbGXpOFgdWkG0Yn17h77cSJ+cZzE9z?= =?us-ascii?Q?FrjjC+UqV/C1GpFnNQ6551tbgpGcVVxdyvqxoNeLkionNU9csl801bRNCtQa?= =?us-ascii?Q?axBC+7MlB2bgW+jCz6a0olY1TsJDKLcdnxXXrNcZxq/p2z3eahulpCvqHhIG?= =?us-ascii?B?dz09?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB3271; 6:5PaCCNngsPNPKK+A78Nn9SqMk49pxx0J67Tmd5kQdP?= =?us-ascii?Q?rDU4uN/Fxf2r496bWcSggbA1AYiY4ftbXzCB4hR9hchVVrz+DGjhLqTyyBJB?= =?us-ascii?Q?6+GMgq+Sc8DLX7hEAQImwMfiVUW6USSKkq076rUXyEYzN+tE4gZ6+BVh3p2/?= =?us-ascii?Q?oJaXpfoGu+gbhDPXBd8mpkakr1PJy7cjeuX63Gff3HsosbAgKRQG3SfjyALZ?= =?us-ascii?Q?SvBlGdK085/FgIV+Q0xhi1anBwQgJEWsQ5oy7Jvgtj8x3FtQNYlxw4xAY4JF?= =?us-ascii?Q?o/qaByqt4TQELVOihDhG+qdMUopbTfaKe3bDjg/s0f/LNTd0X6m/CClHCX1z?= =?us-ascii?Q?kT9t6kBCYIQZiqdmsz7KHGfGE6WBdD0oMzV2gufaBC/CCW3Vn9gz7azLO7vQ?= =?us-ascii?Q?2sHw27E00wFpmSzz4McTJqYKS1YTVoGvtkrmcX0lGwv8hqxMO9TQailTj5hb?= =?us-ascii?Q?VKwQL9ZgTHdbnu9MuHLz9XjL4Hnec4de++yOdXHNcd0IvYCzACoj4t+fwe1Q?= =?us-ascii?Q?wNxJc9ROQ5l1F3V5v4wJvDVY0pIi/0U3E0pjQFmN6gOtF3nok9hzjZGYNYl0?= =?us-ascii?Q?08P3iiPGY+eo1l9VH0sIqgGZXnI1GEJ+6XkVs0etUXLa6Q1XL0/NhdpPSi2Y?= =?us-ascii?Q?L5tFh9u0zhKW7xi/LKDyeOHLFRnu7zjoKaxF6BQMsvi7ri7U/0WwCLcH1PHS?= =?us-ascii?Q?LvT/GYorRC+y9eQRMJGiWmfE4mkdDdKzEgR0M4PfQaLxlVnZyDTMO7CoZagg?= =?us-ascii?Q?BRV8WrFxR4VXK/dIQLSsTLfoouZj2mvNMA9cyhJaGD3sD5lXW4zqYAwnzSIe?= =?us-ascii?Q?ugcmhpGJm82VywdWdA+1eV8DrzvFBMR5dWv021oeAfmAvWTjhdBf0wS6zm7Y?= =?us-ascii?Q?DAr9Q0RG+OUABaYFUThA8MvO+irQmwVCRFM6kVIOKziFUHmoJHfCG7QykhOn?= =?us-ascii?Q?7Ziv8IxOjX/7bCK6cksGAnCvogMQND+zmGxYGFPA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3271; 5:x9uPAksfT0VTwYIPoDGxzi2J3s/bbl9XogxrotENryxX7ZZ78Y3KybNZcNMGZMq7H2jrJ8SYMdrv2GTH7QdxuAMy0vtZ4XtR3sHcEioEvx3bmcsg7zt/5XyUvW1BeVRkIZMEH3wpeJfkmleGpak7mGyAeFCS8e+iW0riXESOsdJX9A3E4SyotcfPBP2UEi3okYAtF7uuosmPuwS7wF1VIORpHqqkMvFfEcK6rHGOkcdjEQDz9eLy14VDwMf1XRcd02NqFwSvktZUquTP0SCaAtSt/1DwtYCWgJLltO6bL73o91/ATpNEj1lpqphhWFsyqirasN57d5Tc1n3Fpd5GiLzIue7cjI4mMHNxzv/6tlwI0OmOfU+73zmu3JaMX74kWi32xvy2HN3VkOmEg5lKjfXlo0Etmvrwe5T91tRtIu/YNbPUZkiUiuMBFfheCfEJiUtMdFUrF8voWM0p7jjPHL1HTQW6T/CvF3wVHoVCRshz57hxC6k5qAWYI751q/UUuBXbFPfsEav8PV6Y/6BVjA==; 24:RPK8eLEN1a9IjW4LHqRn0Vpl2WKekO+i7S5nt3ZHae9l9hFeFputzPELUMl5GqykHZQIulf3zVG49Jx9OtP31lCLsJcoc/h2Yh7JnqTi4FM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3271; 7:upCXSyWdemFCBvG77Pa/m3/tgekZsz388Q0QJTkOTobJJDIP0OgalRIATVSMgTm9pODJG48RELEFNPqzbM5qhfnmfucV5D9UFyESYorI2qpID81lL7E1Nw2na33oD189JvptS2arkFerYmCPKf3R4WjE0npX7fd4+MIME6cfuFrI8FWe/4RVPcGnccgcAnd8zkkgJSlo836YjFSH3/IRyqErAho0Mvy8LsESxpWy3DAUCthOYSffM+Qmyw8hfj1XKdod2BLdVHP/oVRdWhr1xQBEee4n7aokZpXPz1Q36Z7S7ngeken4PwfxUSzjIHaqJnadZBrKnia3wcTOKn+qEbFwkq4j70eoYpbpwLgCu/ccyDfPwct9no7NWulsnnW1QX+WQph9zO169G3NZKm+KwY0j/mwJL+s0wkCobmzmkmPthTkJ3bPtCYsh0supmNj5y+H69jPS8lDt7nnm4JQmPZ586Jr4p4wGdlllen2glP7Qp1DcAC8bpg1YSbYZxSnka19zlz7dxJW8mTGiEo0EipKvirg1fta5s+eXBxtRKzqIAhyvhytFBWqpmdkmcVqnC3gTULSFh5G6DJ+/AGjJ+wji2BCqVkioa/sVYYEWwRJvFJtcsG8zjuh+n1jkEC0kwp8fyEFxDlajyVNVbGzuSoW2dZA2Lkmke3L5MNOpM5Pj+ZqotpRlHmmWfIW3RyALFjcou+GVoO+SyqAEfrY1/Q77EfASSuUo01A7QKS75DFNFF1YPjAmPTC3t/2VTBUNh5FA2HXdhS6TbXa+D3V/Ecgv1nhcIW04dcESczQx8o= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jun 2017 10:29:07.3944 (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: CY4PR03MB3271 Subject: [dpdk-dev] [PATCH 11/21 v4] 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: Thu, 29 Jun 2017 10:29:09 -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