From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0066.outbound.protection.outlook.com [104.47.36.66]) by dpdk.org (Postfix) with ESMTP id 4604158CE for ; Fri, 30 Jun 2017 10:55:10 +0200 (CEST) Received: from DM5PR03CA0043.namprd03.prod.outlook.com (10.174.189.160) by BN1PR0301MB0594.namprd03.prod.outlook.com (10.160.170.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Fri, 30 Jun 2017 08:55:08 +0000 Received: from BY2FFO11FD037.protection.gbl (2a01:111:f400:7c0c::103) by DM5PR03CA0043.outlook.office365.com (2603:10b6:4:3b::32) 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; Fri, 30 Jun 2017 08:55:08 +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 BY2FFO11FD037.mail.protection.outlook.com (10.1.14.222) 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: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 v5U8sfK1032271; Fri, 30 Jun 2017 01:55:04 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Fri, 30 Jun 2017 14:24:21 +0530 Message-ID: <1498812875-6945-8-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: 131432865079891001; (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)(39380400002)(39400400002)(39410400002)(39850400002)(39860400002)(39840400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(6916009)(8656002)(50986999)(77096006)(76176999)(2950100002)(305945005)(53936002)(5003940100001)(110136004)(8936002)(4326008)(86362001)(36756003)(498600001)(50466002)(38730400002)(356003)(48376002)(54906002)(104016004)(2906002)(5660300001)(50226002)(81166006)(8676002)(47776003)(106466001)(105606002)(33646002)(85426001)(2351001)(189998001)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR0301MB0594; 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; BY2FFO11FD037; 1:IYZ1wA8/CE9uYXaM486dhKP8uMeKtWrI3UAarm22Lu?= =?us-ascii?Q?eENIiCw19mtN4sLmA4qqY+89bOP9nt3oSHGHgChabRoBrJT3nLoEfDpdd/rA?= =?us-ascii?Q?szXeUqKmkG/I/AJ9ohQfhH9u7yGMEAo9SeTq0kEHNLIf/Y/o51d0rlDFHWt5?= =?us-ascii?Q?SFEGoApyoUZ1qg09Y9MujXRi3l7XyEIqVHTF7q3GG8cB0lgIJBtbnmlHRAS8?= =?us-ascii?Q?gbiNcsxLgP5dcWkPrcnOZ5ZAgb0OFw8PJnQbzbApKg2p6SaemdDjcyGf0JmG?= =?us-ascii?Q?0J/TvtpwBTL+KVbha93M/u7tQ2MJlHy8g53THHh5yyTBEfh5G+StkdC/ucd1?= =?us-ascii?Q?d7BIYapKcECm/U5qC0UJKnqu2VG/gqv3t1zaIvPhYMJOf1n3kPSKi+CwDOxn?= =?us-ascii?Q?Cu56a6d0df/a7PB9eEy0Um3PLw0BhjKfmgJtbXNxvHbFqPRUO4svCunKRl9q?= =?us-ascii?Q?XhjCoTDWGDf9K7vA4OL7WGwOYlJ+qRk9mkA3OVOX8mNg/udo9hvOWyboqOQi?= =?us-ascii?Q?Tnkxd+RYA4Kl9zSKaTxrJ5fUfcNcLUEIkjYhBd/GxqzT3fqtr6CHXO7Ir2nJ?= =?us-ascii?Q?e5DF1eN9BYd05+9qIFCu/rdziefGLLV6D5Wkd0UZEhTc3GMc2clA6ZktaiYm?= =?us-ascii?Q?ZXmIks58vlgkmHHHnaS6VjSEB9Wv4BjDPArcBF4YM41TegD7mqwCdAkNixP+?= =?us-ascii?Q?9TPrRrb5tMoROT3OmKolDgXqx+Yv4n0Q7X5qAsMGeli+gRudJu3GUdk86xDI?= =?us-ascii?Q?fF2ArfQCs/hcfZhae3iEs897R0C4eVX0xluFFgtfZFKaUYOw8+7C0r5E4U51?= =?us-ascii?Q?ffQelAeB1juo1dTzy4DwIk+XKFafckC8cGRUVzWacdbnr8X0WOVdIOo3SDv/?= =?us-ascii?Q?dCs8vUyT8ACoRWHhndSsV/tsr2e2zb0DOUsxViMjG7ga1DboqPv/8p7GUlSo?= =?us-ascii?Q?xHqoc/DGcHpZNHvYFP2wca0QKqPoPSlikqTzgkefC/e1ihfVMaw1Q2hiHqjS?= =?us-ascii?Q?DtvtBgoRmloXHVC2oLRP0TM3qrPHoCpNWoyCYi4FESTmIUWWX9yFi0onY1cm?= =?us-ascii?Q?oerbO8LAtqusUdSqJE1wtxMFC+B+LYo8q3Vln9+OdlAuTy7Q=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4086825e-6c03-49f7-83a1-08d4bf95b540 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:BN1PR0301MB0594; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0594; 3:qQ0ey0LNRISHOa3kD3TZ6i+IjTAprAbyrnvIb0uzb9uCOLkNIBZVJHXVAW7XfSMVhEXkpxTtVITMBvpG2bBatorT8G1ljsNPJNkqqwlIWHFrDYRVEHYJ1dEWoZ9OLxa4qTDk0L/Qnk3xrJEPFdb1fkftoGTiUDA8LPgf2gVe0fnU/nIepq9pcujmpdxMdEdC9Lq6K2QSbgyNl2KHDSKkqnNQSyCmMwcpaLIbeXJtDdygx/rBNoxQOgQSoFrhqq4xcy9pcaeBWXWdzIgdQ5qyzbak8n9j59buPXF/H1rz9xJGUyXx4mkPMBMari0rRa3zGbtd3tVJTRdqfrb9HYfM9Ol3G49DJjagjdk+bd746RvoYrCTfqNaNdy2IQlS7Eb3B3XTmAjNvXzJXyS2Anbs00QcoSbLgsJ6ex0b5jSW/DId5aMnLN/qo9f7rdEwpDGMy9L0NGgzD/mrqdnJFXP4DYjNJ7oPgqHM/JTbmyqLirZupSWpAxNkJ1mXXCDa1d1U7sO51EgLLQ1NNtbsx0W/U0m6bvc1glLPK9pN9rhKm+EEc5ixlSL/9CZ9tJgVHyOBBrgUHuUnkYmqZr8FmZMUabYCaVUl5HlCI9UNtZjTQJ6HQHZE2i767+x9HzuUGZ0gOfIuvOzT/A2dR8GM/4bhUdu+SjuXxqBDei0FLq9rcsUMxKCyp6ap5ErxCXzZ0AzLjqeXHeQIZwaJkyw2XIEZl/Bpkxnj+nwLdbOSOAdRxQ+EGlRZ3mUwmJdP33iktrdE4xbN/nqkvapqqW0yHEdf5eYHNGD6M/5fv4zUrefBwcJDd3RFORgxz4b9zlWrg57LyOMYd2AAN4aw4dqbUuc+fW99andk9aY47HsOtDNTmRqM75ZDT3me7BlBuFLJJHVC X-MS-TrafficTypeDiagnostic: BN1PR0301MB0594: X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0594; 25:3azUDkxuChqOheScJkDBVM4Iq6SVb5JHTl2TJ8+NYzniZ8Gtuwd5KIZWBCbym28KwbPD/D61N7uyzqIhIXXIfi+t7t4rfo3fwfS0qEswsZeiaWr5VoSQKMOFcXoSnY/d2gcH7FghLlZVTicXbczUUE4pThUG1wdoA05dLQqItdLDL5iDCW1sTTU7ff4itFCDlbXkPapXudR1rCwu/h4CeJ8bc3rrQa8KgUo0g3ZYcZZZQaMb/NAM9VK8E2AlcKEjEvUJCeauBaG5crrd5P0vfIHMY65NNkzg/exdTArZ+ogjlUe5vhyKe+AuqGK6HO4+GF7gkzmgFVuEDH10Htp9cLt1TJwSA7ryOl8ZvjrseS71Gq3vE0pfDF2tJEIOK5z7Mwzf3RJEWJswd2G/tijyeLyqMYPeXUCG9uzjBt5CvIdjoUfhQbQBonRNONhLi5AgBe2/8JvCm635lCLo8kYyhPDtPtNzpwa4DMETu9p9JzikqT1iN7AmIY87QEASaqo8AkEgNfjujLTT/KP10iHsOhIi+4ny4qkY9wUrKGGOX/5e/HVaGqUaaYGiJk8ApjZxaB528YhzkCT4fknAGY/F8nDS6wcugr8OcXzqO9AMXXcTqR63Ga72GWLQ/CVgi4tjOHHalyuMsbQRAn+hiRYMhGBocExhyOq3TVsIOI0VMoaDKBzUJ4FAeI8QRTD65vKjDfEMUZEbNuAUpQIXJkW2w4ZiwpJi4NrxRoTn+C2F7dtDVhxkEFVe2+Vt7mWyPseSInJ4/Gz8HZ2mYZa4OD8hIHwY/318gpsg6nxanxG9EIg57IxrXEZEbYDQYd226Ev9m1atbrLIwR0GQeWQsPN72njcweEGLAEZotShNY55lTKWjsVY1lGWaXL9Rbfe0N4qBpa7GeFQ1mZMy2HqfeNSZPaGq25kvE5toipny63XUp4= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0594; 31:ZScNjaGqLWp9201QvYm3o5wqRVk8YxSfiwAsVS7d2ENxQ52p23ik2NC3N+8jBbiSBYd/c/1ecs7X0/Il1KN3Hu99pI31s+tNR0YSjrU0Ei9yUNmcW4SLQWL/qRb/RibTb4QFLBfQVIQxbBvvhcfAjt9n6Ba3W+fWBVwuHkrb9xYpxmFt+r8l+z7AHqs8F89my0x19RHzDy+lO0scg3Mgg8+PwhoxulxfRktqH5eI32TeNnsqQVPEjvhrXqcUuhBT1Mfe9c3x7xM/ZjnLL9bJkxD/CVjjhcoHN22mZqtfM5TamfuVPv+PVgJCdE/I7m3opp46Kpk603uUYL/ht8+ZA2OFY+qpyWgNOo2JX6kltmJq2xxIhXTJsJRw1SJU/fiy9UpeVy/0TCxoMmYfSdvyL/0OftMMaG2ysrvmAnG82N2moXpYy1xept3By/9Jx24xdh1nyXdUAMKz1uqw4OmXvcgmEszd7Q01MazSpD5oKQazXopF6bhNJOpb18I8bMKMO0NI+h/nawkYRb/HtyoF6bf1RSivHlbP0MaSK694E+iqT2UpTXLlmoj+zKlfFbg4EpNZjCkkcHrp7jP5iAFdoAUZKqbk1nMQb7m2taYrr7pHIJQDemXzdrAZCAypADQJEQYjIOMXKucBQ8P1e+17DpX92lH0ZrgZWX8zXuHB91itaW9boTfLWijgC/xSXG4vuqUal6MtYzhJPRIdScrfMw== 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)(5005006)(13016025)(13018025)(8121501046)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123556025)(20161123565025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123559100)(20161123563025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN1PR0301MB0594; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN1PR0301MB0594; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0594; 4:hOtI8E2I4fftJaBz0Bss7VyxC1cGRLs1YCUwOfte?= =?us-ascii?Q?hIplvgOC2Uw6Tb1tYAQGbyD8kwK8WPsCd7A3lkUQW5BoGRz0rj3vpOzoWvAS?= =?us-ascii?Q?KHKTpfnPPJiH9dddE3axwkeum7SaI4kzYsY+7Dp17GHqYKiDUOmqmy5SIWJ0?= =?us-ascii?Q?brRgpM78oN1QnFt9SzC9ILbDwbQh1oKEIk5FzeWpWAVPxTVMW19h9oed6DEV?= =?us-ascii?Q?RIM9RGaxqiqFCw7pbA2EHmql3Camo5ipUImCRtPDuN4KluQkyuS9TAMEZEjJ?= =?us-ascii?Q?qrpYUcZ2P9SXFZWd9dI5GsV/bItLIebLx8IwDy3Nj40jO//vy4xwbFqFFnj2?= =?us-ascii?Q?cwkY244Ff6AC2q5JRenMXkkvNj6ag1fGHy1dylYCFjo9GPaiY7QrpnzypD2v?= =?us-ascii?Q?e+MYCSOLIdNVMYjwmdQeN203Zpk86Hily9fA2eQbYNe6HO1iMxKXdo791MPz?= =?us-ascii?Q?8utoUxgAq0FFiISIf0YxyhuNyrG2HAcLxNO8+4SDqAtGac91V3MMr1Um+vk4?= =?us-ascii?Q?R5d51ig9fq48KP5L4C38+v/nUce9/dLMuNbCF/zX9yHD8jrlSt8zKuU4Qpgw?= =?us-ascii?Q?uk/4bKvE0YWnA7GAHoJ8OYeNGRjrV1HrMgleF2kh2z5LVgVR+IHcr3ygALDZ?= =?us-ascii?Q?vZFECIYR24LytTXHKhS8Cd9MplPyk0SgYV4IwOUVdbEuWJot5yRxf1Ppxy1y?= =?us-ascii?Q?Vyu2fUhuSyqCoNlwPADeqJO3S53iYHzp8FM746MCF8e3TnX+aFxnUdwAjGyM?= =?us-ascii?Q?Z4QHbjOch7MV/01jRPGFvGipEqQn31Uhp2nKgF1JVue6ow2Wpdp+gmhyDvig?= =?us-ascii?Q?42jr9+kZBJK/HwYD4SO/j4nu9Mb6R2fLZ5mwbMSk3mxoG7NDELDbYWsQINjv?= =?us-ascii?Q?23vGilnSOCd3k21SFcY+1NJWh6o6tgOmd+03r/5kVU1pNTqIvGNeZgPyBWuj?= =?us-ascii?Q?P46rLdGhw9f0iegTcDDwR5eMEM9aQkdldr9Ux8rjC/fW95B5Yy39WcVF/0y8?= =?us-ascii?Q?yLvShT5+4cqhRy8iI3Vg0yrEkgBft6if1d1RmwKU0jlP+lMvzwZ67OWrDLhM?= =?us-ascii?Q?iYGLktzhh7uQhdWZa1n8H7kbt3xTKZdCOVt4zF1u+ndhiXDBGL2/mSufwPiA?= =?us-ascii?Q?tU2NN6XsxXk0JHpom96X8OU5TaVzQBWYIoVwye2Y3hCpSe1xOn7N7qPyUdQf?= =?us-ascii?Q?ry/EOtSjBr34UnYWUE+1XooZ3qistEqYiqkuKw9T1PJhDggkrxwbVIANMHI8?= =?us-ascii?Q?4HAS8IEJGFz7QVuW1CMXJC6IOyplI4QeEax4/DeiuYGWJbGXbu4e236Zg8tE?= =?us-ascii?Q?FclkLITJOZX8AUA5CtD3TYHqUSLEmQTwDaL3M10xLvGVTqwCPPHN7JQuvHvE?= =?us-ascii?Q?DpkOzydoldyCZVStCUIrRsQHsRc/0PEyyVDO/1D3rwsHmx9H?= X-Forefront-PRVS: 0354B4BED2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0594; 23:CtokkxRWum8qw2CaLx9WGZgqItzG9PBW65D7f82?= =?us-ascii?Q?t6TYhqQlFn7u3EQQmtLa5f1OkI05Wk+U8Xz1N38PB5xjocC3wBVSKRLyF4hM?= =?us-ascii?Q?x8hAeNIbnWGlBwvDj9bstfovy4fK3kFR/gxhkQvTh6hsRoxQ7UIMgKIC/oIp?= =?us-ascii?Q?F+LSEE+FSoXRfnZcRnXJnpxs35JA4Gzu3tyCgYSEBb5QPySJf3IBailunp8C?= =?us-ascii?Q?6UH/Do5/8W0M0pxlZ3MrYqCVSGTuIHrY7/81q2foQ//uRO7gLYoPq21ocQAx?= =?us-ascii?Q?5bey9OAvKMBdDTi3J9xpiLy7/TtbL/Seaa03uc0rtqGrRD5OarbgzqDdAkAf?= =?us-ascii?Q?Bnld/lJRyp2zmkLRGQdmE2UAagbsax20MsOkgf7KYNotMoQTj008mJmAG1P2?= =?us-ascii?Q?nmhYvx0KaqiWYgYPpdS7Gj5IYkNUltJmXqqLpedl09bkJ+bZg5clYsHLal2z?= =?us-ascii?Q?dyesKYY5yKt6g+AMq/1xYRGQdSluraStBtaWJOrQQzB+4xj3YiRiJvyCiyY2?= =?us-ascii?Q?H35I9f5Ry5P1gBIqlQ9TMx0i/l7FbjBGW6fY3aJHQW7rVWkb7WSPyrbrXKGn?= =?us-ascii?Q?dfqaEaM4m3l1aAYtqtnxWW14yTXoLXOgHrt63oBODReDBUXuXLpAwgS9AyQ+?= =?us-ascii?Q?GdNMGeRYgxrVWzyH66qt3bc7uK9J8FWnjZgbjSH6iQd3m4xPzncIHMYLdyJp?= =?us-ascii?Q?KI4Qu9IYmmyiuOxx7jLUO2//87BCw8slNMANZPSXEIUBzXrG2zS2Rdo3rsQZ?= =?us-ascii?Q?YnAUxYjdnNtWsVF+V0Qg0dJKmHCKH9cfEpEWd661I+Fupn6EDO+cy681xTyH?= =?us-ascii?Q?ymcC3VBBwiCVO52CMxknFxH4jx3mzgN2HGvjxL6pb6ZYIcvQc1KBlyvlr+gx?= =?us-ascii?Q?qP8GNgqjkbm18jXWqw35GyAz+9CrfSqScI8DIvfeJy9LKBMOcVGto4oKYHeN?= =?us-ascii?Q?SK37y+iv8O9kBZtyT35YJk7sqtKAqqlx1xTZRQwD4zKdvtRbDRXXqf9SR4uQ?= =?us-ascii?Q?dZjtS7O48CL6zCiy3+1lO7R4Nelt4pwJG1m9bMEoKSj7wZY8VcKX77GVvxoD?= =?us-ascii?Q?kO88fg6AqCYJ3HZ0T4CZ7vZY6F3nMTJ10l3WzmxaRhH4I0smJSQhBYJ02FVB?= =?us-ascii?Q?3A5a5KucbL1jqOfdRwR0+RZOzKjQKP1YYqApkk46hduwkdUnkI3YVmTmH5jr?= =?us-ascii?Q?ZaFVDWIaJGdFC0z0kd2nLzkccU0FR6j3bd+8wLHYe9lHtAJWBNOZZ8dwy592?= =?us-ascii?Q?z6dY0HVal0BEvZxude8c=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0594; 6:4amTEwspgm16V1oLYn4erBBeE+dQNJ7GLVkb7AAW?= =?us-ascii?Q?VGFMMgTaLpwMhZ9IP91MQqvSinxI3CpgjhqGc3nuk3kEIk7MOt6pXrLZ6tti?= =?us-ascii?Q?bHikbsjTYjunRPO+4yXUSMgG7l0fsg4MuglxqXYootX2/xECGlAiJlRvQDCM?= =?us-ascii?Q?18bqguX8VbPNzF2dxdfaXpLsGacidaNbvXL4E9Ca3t3Tdrm1Rq82hz6r4NYi?= =?us-ascii?Q?PRIdrZOxeFBTL71MH8VcrOi0A1R4+7xzsbslINQABDXOwIALoxCyMN5yYd9r?= =?us-ascii?Q?ULjcxrdlPUqr1FtLR2rAkRCi/E79ncb5YYZTN6U6+IPCcjtD9gXV6UULgRnk?= =?us-ascii?Q?wTnTxxzXnHqVGcZRvWU/KBkHsJmA7gE4E8VWiT4pQrWtlgUaFaHaq5iRrewp?= =?us-ascii?Q?LhN2s/VPXJ7Nz6qe597THZP0/dufbwk8DMA03tqu9LVwGtBwNlrS7lI5zB8q?= =?us-ascii?Q?LDtsHzQO+UTHyKM5Fq5TUdLZtjULPCf7fbIdTEHoWjDaUFUi4RCKp71hVpgp?= =?us-ascii?Q?FzXtx1KnVvmkpslk/3e2Auetw1QeJKu9n7GOCJD1NHZtPe4+v9ovR4RJrELh?= =?us-ascii?Q?y3JvxoQ3AvxtRPELXgfd2UjWEcNllY2NdZjiWipT/8xpBWYpYNJxiFMmdZhE?= =?us-ascii?Q?sQtEH0b4vqwp0e843wSE8MBgvYLfaeS7hf9DX8HsB0Q58EVmBADxv7TdTL5p?= =?us-ascii?Q?ENgKrIobM1fQeVyWoGsEFiABlvCG1bPzHPXsgoJwl3SJfjhtQB8CgdcGJ2bp?= =?us-ascii?Q?yuFZ9KlH2YWQU2taVCOMLePVp+LBsZ9f3fQ/YMfDU0I9++2J5l37HuG6pA+3?= =?us-ascii?Q?RAlNfVb6RmlI0OJTOZqk3elbuH+XWmhVyf4Ao6L+qCNfT5KYpDezw5BnjtFF?= =?us-ascii?Q?cFaIrGmlpCLWlgHoHZbH1r49fKVpFyyO6SfhfmAniFh5W9No56l5H4sfOnDj?= =?us-ascii?Q?pUiEsxarD6CdXcT97ltCqPmNw35lG7q2dh9yz2KQ+Q=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0594; 5:PMQDPIpLPmhFR5RlxSaBGDBkA7FvJgMXM8zywYKoIrTCQ1tGE/Baw0hHVPeq9f5oYUXNEh7YnNGBCLEtbU6+rPKZtJdNYtxB9IAbuA9ew9l5+6pal9URc1Equ0jGE0uc3/65v/cruhZzNNVRe5gnYEfOlCsbotTQfMoyO9R6HJyzxj+zx3+M2oU2ty+2Vy3BrHkihbGi/yqbDoV+nT8HI0iPTCN8rrwTi7Z+2cEQJnp5jDRKQYeYgiem/V1ClX+cf5W4VueKn6uOkBoxuyDuZ5YSrRbudGzIznANMFgP1nimeUcB00Sn+dNbJ0BKGeMqASxhNq0vqGndHZE1X7yHAOId6lQa9lUkBoMfZ4J62TbazlMA1yCnMJ68lCwi2ljsLitW0SS+5pBYaCnE3XRZmUoNZmTfjyAZ6QXDVgmmsLo4IOfw2pVTNsPZ7ij1PX8cDRNkwnc0MAUHPk6P2vBHvE1jnQrzZFpLk19QpFjHmUzlkugo0NWBe9tUK6VSxLJVv2/BY+xzuEOKgXnzAAT6LA==; 24:PhhfXyLTJB4+C+yQuNP3V7q52Sb+ZQYOd2va5DxYkgP26zCgGqVpWCBDoPPmyctryS+72VykxmXu6ZrIpbyZVFC1T5cwfmJpGC+TZ/EuSOg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0594; 7:Sh9Emin+aowTy8uh+Df4w7Mf+TETUasildmj/oPFnU2jMNL0JBORU5qmY5wR1yZ/VUMO2Iw47m2tAsDQZtPETBiBn6QsuJrEysUzD22odIoTwvGcyKe4zOnQHBeRCpS6AySDtzx6Kr+zofITw8NCZdaeV7fAJThG3Xt9ZQh66hpC4ml8TFAFPdYeiqnuaNpSq9g+eoGbPuLYdRBGco9p5/TgWEaV6Ij7osHYgbItSqJXOgX4GrpwG7gHMy0co+Ze7hXTO4aCyKUC3dTJF1jOTdjFKa92GnKPnxrJDLTZstMDeVxzf9UbSzEMPwxMDA1OMV9SAKuzwt5sPv0Z5UQ/qsJFj0sfW6x4RqY7O2c8ifAKPoZ7hDak54wG1zkMixHqXxDBxn2j3ZmsXoPMo6ILF3TPTlUISF9GFfEk7tFzZNMDE/MRGK5rGdypmx+aO8ZbXNUv+jVBZ7RbiHepcIhFfrf/XzNuMDcvig+kM9pdNpBS/DU0iygao16b6O8T0N+ht37fCUyqbuqSrvTV/eaT9A9BCjz9rEX0YRlbPlROD0v9yIgHavadfPtZyK34NECh4QGtQiTNrSVXY3y9XymUpKN0fkoAHczcQyvmmzS8t1d/aFyEGV1focsvGlHQ90dq2rZcyjamZuzcCjo2BZVI/nGmh2Q5Zez5QkqtdcNKO2IB12IKdGTPqPoQnD8Rzyah9RG8bSsvk4tcfok/A/ujokvR47DNkT83Y5ZOzHV6OhIoRpUigpsEfnMNbcHg3xRzkoLKq1RWf9GHXGCTUZfxijvbGuu7TYjrLrmNJiGqWMI= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2017 08:55:07.6146 (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: BN1PR0301MB0594 Subject: [dpdk-dev] [PATCH 07/21 v5] 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: Fri, 30 Jun 2017 08:55:11 -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