From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0086.outbound.protection.outlook.com [104.47.40.86]) by dpdk.org (Postfix) with ESMTP id B30F17CB6 for ; Wed, 28 Jun 2017 17:17:23 +0200 (CEST) Received: from BN6PR03CA0003.namprd03.prod.outlook.com (10.168.230.141) by MWHPR03MB3278.namprd03.prod.outlook.com (10.174.249.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Wed, 28 Jun 2017 15:17:21 +0000 Received: from BL2FFO11FD011.protection.gbl (2a01:111:f400:7c09::198) by BN6PR03CA0003.outlook.office365.com (2603:10b6:404:23::13) 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; Wed, 28 Jun 2017 15:17: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 BL2FFO11FD011.mail.protection.outlook.com (10.173.161.17) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1199.9 via Frontend Transport; Wed, 28 Jun 2017 15:17:21 +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 v5SFGaPp032734; Wed, 28 Jun 2017 08:17:18 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Wed, 28 Jun 2017 20:45:50 +0530 Message-ID: <1498662964-11251-8-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1498662964-11251-1-git-send-email-nipun.gupta@nxp.com> References: <1495735361-4840-1-git-send-email-nipun.gupta@nxp.com> <1498662964-11251-1-git-send-email-nipun.gupta@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131431366416344793; (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)(39450400003)(39850400002)(39840400002)(39400400002)(39860400002)(39410400002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(8656002)(8676002)(8936002)(356003)(81166006)(5660300001)(81156014)(47776003)(50226002)(189998001)(106466001)(498600001)(48376002)(50466002)(77096006)(105606002)(50986999)(76176999)(305945005)(36756003)(53936002)(5003940100001)(4326008)(104016004)(38730400002)(85426001)(2906002)(86362001)(2351001)(110136004)(54906002)(6916009)(33646002)(6666003)(2950100002); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR03MB3278; 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; BL2FFO11FD011; 1:vECQpHth/GHDZ+CNIk1GnchGwMSPeyEoecWgc1s7d8?= =?us-ascii?Q?B8+6Ej8hoOH6qx/ao1QtgJ0zsRy8ZI8NX/TnKT4vlEDbuybQ0faRPRSAeWr1?= =?us-ascii?Q?99NfUZAQEsc+W8CCDxJOZwiJwHerJUIkdzJ9ume7LSz2igeN/ZzMO3mVqoJU?= =?us-ascii?Q?pJxDTocQmqwjaBvB/z9q0Yz8jDgWL3fyeLJBAXpXJkhZi0hK6WvmCcxm+8vt?= =?us-ascii?Q?4K6royo0cG7J41nEXtF6EIiTAkw3AF6Dh1aISNSPeVTH2cHt0UmptBsYmuVk?= =?us-ascii?Q?t8zd5D3cnDOth968JdlPHRb46G7iGvUqpODLujXl/q7Fpf06ECgwqJ3aBqkJ?= =?us-ascii?Q?JKBeLTn80oYP0o6UsdGbYIk5XZBJNogRfcrSPtPw/BLjncoQUEM2EXCsrxjZ?= =?us-ascii?Q?U4kjEhYMlrWdYKFT3R6NB+Ukcw6TqzRKMifAg5utZ8rqqZQr1MBvb48Wf7yD?= =?us-ascii?Q?IBmXI3rg6L800nHY4enUFG1GPy8wxFesAaFROjomwWA7wgOILNMGBM4o6I5d?= =?us-ascii?Q?zfA91CyqAUirAvlM7+Jh+2NOHOH58lkAQC/YglWw6HR89sYXNom9xdCIv0iW?= =?us-ascii?Q?+BjGbxn7TvgdrjWR0sItUSA7SuIC+B5160ejQy2Jq3qyyKEMEdHdx32Az3NW?= =?us-ascii?Q?zqWqggfOscOkbQ+YJK68ECd9aCDUU/cNBeYAbP2LW/cTX07FRxhkUx8OcrgR?= =?us-ascii?Q?ytsdxoG+kssz8uLkLa/XVjkKFYINhXss2CvmUI4Ba2JJ5yho3OOE/MkLw6+R?= =?us-ascii?Q?X31oBp9hA4i7+u/M5uNwUxFwN94GeNLFp4msIvQRRHSTP4ewND21Xbk1J2h4?= =?us-ascii?Q?UKTxaIQ8AzeODGOJ6RU3ww898B+uRfR6tTB9P/ErCdvARiCDEfGytasO8lCC?= =?us-ascii?Q?45cwwbNTgVaCby36kDExXPmC9zywActsMaFoMTH2c4WETYUCHscnU6MvX8Wa?= =?us-ascii?Q?JfMjkPRrhXOlgOVB3CeB9FGqykz6BbpDnBbGtpoxCcfyALllUPdwFDwddE+z?= =?us-ascii?Q?Luz9Mcwy9035wjkrUDfUx8KyV0xr0DM7r1Au956e4KwNAV1OmvKzbw73HgrO?= =?us-ascii?Q?nroKp5YM+1VLpStvMpHkwfqEpres8n96X6DXc+dHSRaYKUnA=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d9a26e34-ecbc-41a8-26d9-08d4be38c60e 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:MWHPR03MB3278; X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3278; 3:3F/bDqMnoesnMcKnvRg6iwjZiSY04FZBNTU/BHN1+8aWmphtm4Ab23LV0rmIafnL/MbCsrnb7n8CifiQPhsoFo5b0XK/+ztYuYMbMPjAzqqbII/osKpCFnpMqGgi08PkO/MjOgoZJot+TcnW+kZXPpdsuLkfYIkBbFsXf0L68zSZzz/1z45i+cPpoDhdx02whVCo1ql/aT4WnLHyI6OnPbCLogZOd0qI/fZOG9hJ0WBy7KVi3euLaRiIHsMb1B+5QA0aQI+uT7LfjSAb4tNR6FtdiZfcveH0oqmIaWFEs0Ok4jRVUSk/KEd12Z4r6uhixa7G6khYRXrNApByCf9Ote1LSrErsLOp8qzAZNQijKILEKn0ToGe9XSVIx3LRhtF4pNbCLTq+6vBNRKGyS8ERv12EeGkXGSmXuimHgq6W7NyZJBcPV/eqcTHQ1ZEs++3QTruuC+Re2E396iXb0MLNSY6HSuNom6+yCSrkgBWec+WLuKpy+pWnvod3TXBNoKmcdJ6HveYImrwMtXslWieImtglRk1pk3rmc8NoWGUZLtto7artx6IMYth7EVD6yCuPGe4nQkTfAR76hcSbxMKZFaZ41dUrfVzxMvw0jH1zLsRjT2tzHu4S2g2RKNz7vq5n9UIGH4xf86sigNa+ZMFGqvaLpZa9z2FlsRLtALAwqVaAWpGljfvII2Tb9XAwUAgBT7EO4hkNb/mjcQUdJEZSzpn1SOLBNdBbDGUaa9AUMA/U7Yf/kf3dpROLxyPAYmASN7FYJo/gHWGt39LUqeXZIj1PKfI2y1jYe3at8S33OBQcaDPP18vJlSPGQtYQ0k9X2xGAZIq/iFRTQfOyU0L4g== X-MS-TrafficTypeDiagnostic: MWHPR03MB3278: X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3278; 25:C45WqWzierAeMmSWxb0BkBF0YlEsHmIALckCdIhNl4mR0ukabOerMbWaiSFuGcs890yxTygKuWiUYyXidZqEfWKvVv0oUq3LWhAGVoSDUQk3Kk7chp+pOMcbi+gjdoRqOXfQEoZ9hUMEZs6G6AM3Pl3P4Jr9+9A1UGJ6z0rgl+qgp5h0iubrwE5y45X3qfSv1pQTU7gRm9mXr8KVzY8tKpkXAmQKY3dwp4HiHAwJ7zos66R4Nvg5Cb+f4ugQPPJwUeOtiDe7gv6aRwy2KJfL/4aj5A3vQ2Ej58j929QMKXRHRK6Ba7hJcbqr77hfrRINdlrpIJlKLT2BKOuLydK8ddPpmNSVGdwFWxM6VwZ1evpNSs6hmcZzhEx3lVZ7wb3Bq9EUG/+isRi4e2Gg8n2sImKAwCULNgnycMFxu5DP2SrCvBJsjVYH533VFso/lgCe9p1p+n2o1WtsPiENOm6D0Q44+wFwrbBMTkpY6yhM/CuXaDdY8/Opt1lZKvOy0A8K0hDLs5r9ZCmUc6OldqpdvFJnVuHzCVzwez9lbEgQo9wL7ehUNFcu0u9NbQH3/Y5bt2Jvo90Cx/YHOQ6XzuUByXssNAewE6r+cFAWeGvb+XFHyUYBtxOZZu5jDbH3T1+3mLCOuYWhn2dttCfRc0Hbi/TXTXFpHQUatOCpg6TVEZJKW7vr5Hz71nd+B2+4C2xmlRtbxymjYu/5sizlAEjadXLLIAfx301a5ysFwmljWPtDQcdf2VKzeshk5oIQJ7RFvBN3VXqJt3En8U6mrnaVQPbRztDqXFX1R83fhYF+lTCTa7OLdViT7ldogUXynMnijZqR+SK4+G2G/9KdsqSowZbk2NlOiyoGrVVb9GbIsD/pmCNqvvI1P9BlMOr/L+PlRqHymMTFVlPl6cs79hxWj0J+f5X6IV/ynT+3BnAgQOo= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3278; 31:MfTYDUACQdtio2vqI29udolCX1mHS5FrTnOW+uPjKDqNyH/J9Zduf99XuC52A8bph4MHGnPeRyJbKdZWQISrAp0AGZj1DRkEiSYRjUbwUapLBITs0558qD0tXLNefg478xPhcJM0yJlQ7ovCsaD89U6aw73+daI3OtTqcKIP6P1c5yNJ+8/uSTor1bq7r6DazxKtzMxQPNSMP0Fn60HPsSKrA34ttYdPrp5M3uwmlXu9Wathh5m5EH9BSZPkSz/b3yHofve6I3S3UuxayrDpnI5wTT1NP+raP7pjGs+xceitJzN6dJc8VVwqpe3lKzhpYfhQsawZg5g9CwNV+zeC1fx8o4Ljf3EnDPUTFOecZzRF97zXN3U26XicXwz7zFHOd58ADPRaB14e29Ibt25wFDmoJVdWov1khF70jVez4rgbDq+8n2ZtCqiRKxj+ULtbTkXnWH7A02ZLc0UeJQhiK6h+PsEL5TJo5Ts/do7oCucaN1JfuTd9d0RsjspmmPHhJ7DK4YPdchR1Wsh+CvSt0sZXwyG/eZRn3m7sjb3KkfiC7ywRnMIYg/vEse3PoL/uSUSRCnl+Pz+N4VIp8Hvdp13ZrUnUdnWlhrYd6pTWqs21sio7nVGZtxIXK6agUmYD1CoJp7+g6buvZqInYrffJvkTVGYAKgCUCheYF+c8LXvaeUGU/D4HVjy4DxXQ38YuFCie6t+qAwqcoyaUTo16fg== 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)(13016025)(5005006)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(6055026)(6096035)(20161123556025)(20161123559100)(20161123563025)(20161123565025)(20161123561025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:MWHPR03MB3278; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:MWHPR03MB3278; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB3278; 4:lEmS0lNhpDuc2793N51QO9m6vcqXLhUKfsctIMMMpR?= =?us-ascii?Q?P+5GkOFn+AfIxLHo+CcDdeYU84iaiQDtWUM6XvRJrTdopjTU3eDj8qIHio1r?= =?us-ascii?Q?u/tXhB+aqMvXsMa6tAhEaBzf68cOV8RftGRMnMK6bek8Nsj6oUorCLjGwSc/?= =?us-ascii?Q?/M7MgoilGZ48q4Cpgx5+roS6e93yOLoHownBko4B7+zdi8geW+WbUFbpPO31?= =?us-ascii?Q?i6eX1ReagnqGjtPjg1MV33EY/KRDI7+XhCzmEAvyyHD/r4al6wsbrxFMTaFK?= =?us-ascii?Q?3VHlIckbAZ/HjfZB2Rz+Q8fFgMu+QCENLjoxNZfqIErQ1iJU21C+M034wIdU?= =?us-ascii?Q?FL7AuxkAJlOSyd/QqsQ2UFSufdc55pvVCxT6xXVIzTudMaZqu8bNCCYpZxzO?= =?us-ascii?Q?fGknNL1tSXhdaHqfwGdmZVvOuGYRoKXOzw1RiGT5shixMm9KKjKjiMUwZljZ?= =?us-ascii?Q?s8WuJ8CDAEgh4YuWKXWVuh28ESuWgBHiP2S/dOUglHhR//Kse9aJDRIlpDrh?= =?us-ascii?Q?hn/lT/355y65nTcV15/brpImLt+pou0yyL9xahNs+TyxyuG3jAl/ZvFq7Zft?= =?us-ascii?Q?zlEBTEkacBbDTWFc2WfA41pOCmc18hWomsJv2CK8n5UMqCZROxbASMTRObnF?= =?us-ascii?Q?Q+0vcVgfbdlRb2hEHvGTEUZskok6rJzyNpGAS2M7zLtbUzCY+hkjEoNCqvfN?= =?us-ascii?Q?HDXCbJ/0axYPGjMLCgZjPzIr8FdjZsFGkAamzPHWzs9nWk//avX4xrUEbMFx?= =?us-ascii?Q?TOMoiEPGJSO5Ji4FD47846I7Y4whODbmdEaFa0x8kjTQ+il4ZhTHRc5URMN8?= =?us-ascii?Q?LfYiEofCpvcBWtFBRtl328jzPSGCnGc7d/EZzdW+OrXTkIggZ6g0PrBem6GL?= =?us-ascii?Q?5yo6rr4aSjRoTj53HAjRUFmvk4YKExclvID3v0GQnFCFYL0kAYUmjoZXfveG?= =?us-ascii?Q?xMl3wpteQQYJmhUMr+161lzjAnPtvkI9mj1nvbrTPQIKA0Thu54Tf0t0wGQk?= =?us-ascii?Q?7P06lteIvL8lluR2MCBBn8a9Mf4Ynx57SZ0h6aCrIv6/s0csdSp7fdwnbJxO?= =?us-ascii?Q?mhKkoNUtq75swsvXtVyL7dLdM1fOtWaoCwx6Q0SS3bnlZtummGFnSW+udhmQ?= =?us-ascii?Q?sy4XPBmUXu0ykG4GD3YSXXY0J7jsLkzuEMrdNiuv8EOb9MjAYfnijpudpH9b?= =?us-ascii?Q?gD0QCsLTLs6NzPWv/PWYEV7la7NREM9QB4OB1RZ87rn2LOqhwNEhGVhHTHrA?= =?us-ascii?Q?qllrsiM/BHr10AosqHimz+HtmZbES7wihzsqMnUJRWJCqpizbGaoR24w4eJ5?= =?us-ascii?Q?r9euzKNlwFJPWs9lf3M0hx5iZpOJkRrvMJsZ1sWIT1gC719v53ef9fLsTmzy?= =?us-ascii?Q?M9ipwJS+IvSRLjMwxyOvTtJ3wyQozwZ/fSToNq8rcc8Utz?= X-Forefront-PRVS: 03524FBD26 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB3278; 23:dafPmfygvZYh8FInKNJtM8D7p9xBz75fJVo65Rr0H?= =?us-ascii?Q?jDVNQxoWL/G2flB01jtivfILJPw1+KqT3V9ImurSYg49QBL9kcG3X9qgd4aJ?= =?us-ascii?Q?flkCRUzC9ZEsJ7Q1Rlf/GK3xAK2Qq8bg/T1SdgoNv53E/W9cQodcfCFiwDcK?= =?us-ascii?Q?OsO0knL2oa3yGy5C6W6FPGrtBQ3tSg/TCz/cSo2otKWiVkOp89JKYKhLI83J?= =?us-ascii?Q?FDs0z4nSuPp4/MLsuX04/6SmC9EG39FIr9nuYlJVVjvKqKjdOk6cW9UoQTQ5?= =?us-ascii?Q?55ZXHEBYmpK/S6Tg8zi+E7VrTXT0xr9PlmUp5u3Rmv9MRa09y7vBOlY03aan?= =?us-ascii?Q?cuK0+lsGoT9x0aIwNQGlJQyOtYAul2JqxnWPwCfCbqBMnyCdKQQSZMzJ54RO?= =?us-ascii?Q?v6CnYxOQbvUV913Gbf+Q6zIRf8iAYuuk3QbbVoRaJAA84e6lji6KpRMogEYk?= =?us-ascii?Q?JotKo1ga/u1tbt0YiIpZ/ZGGybNGiPtofTv31N4IFce87pXmc9gbRAwRz2QW?= =?us-ascii?Q?5DaJazxG2VP4kXyX+SWYM80a0PK//PlxlngO+bc5OybRH09z0Q+3p6Go4X4y?= =?us-ascii?Q?SfUCSNG19i09iFDLQGTARfw4UOTuPEpTT7bZOCHQ+6334G7Dh8ijgNCFztnm?= =?us-ascii?Q?UOANRU3pAsDCbroulhhRTEsSB6GbiCsiDMsTkpT3iP6Lp0phDBJaOqz8/ExF?= =?us-ascii?Q?6DXetKnN0M0GzWbmZ3b5wrkO7+bJQGDuAiNm2Tq7EffQBajVX7dpI7dfuXb7?= =?us-ascii?Q?X6So+pZoQbwYF180Q4imBxgOeUdHcepaQS+OQFF5ED4IX7nfoxhTlUcGfA9V?= =?us-ascii?Q?bgplU0l1X7qkCZRUENuw4pEKcmOkPnGM95/FmjXi9vg7nsD7lYhBj7vu60T2?= =?us-ascii?Q?qV/2axi4KF3br5839Pa1y4HyfsBme6j1/dCHMbZ3GMcGK/zEavIaWQyS/7bu?= =?us-ascii?Q?ZPgwmomJQcBi1kUy3mfLsODH7smfpF7UEhCxeXhB9fsL8zXfwGM5daoE0K+O?= =?us-ascii?Q?W5Wk1NEsxM+ygpc/V5brFGG1F0zdXk/qXIirV9TyCB5pLmv60k/zWOInY2Wj?= =?us-ascii?Q?9H7Y9yKoX3Ba1254qR1I8dV8mtC7JZ+x3snhNxUMuofxD4mOes7Nxtt3P895?= =?us-ascii?Q?eGkWxPYcpK5iaXziEd8jwT+B/1GWHJHmM+a6er6+Qp4RkssZNIPabTg04Yjc?= =?us-ascii?Q?7TSHIwBhZDm4na1CpxFWL9jRRazPlUbw9sosPexVmVG/L4ImCeJIRV7cEEDg?= =?us-ascii?Q?4h5CYj6VdrVD8SQVWRzXfRo8gRA61yFBizHrEbx?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; MWHPR03MB3278; 6:A0lTAYK/7l/e6FMRqjjbTrUsPQyNcTbfpMNJ2d1yod?= =?us-ascii?Q?IBLjAWx6RTK/6NtLZqRScRcMfG/LW/Z9JAyu0EBXfcPYp68z/qg8iEYRBZID?= =?us-ascii?Q?eVspcjBeC3I6jRpwAroQfzpqafuSBwz/qSwxBnJG3PZAyPmduaUw9m6E5bQ+?= =?us-ascii?Q?KJCejk5qIkqTglSaMKLytjBdIOBh8hRKkryheUdeCQLl+Ha0R5Zp72Do6rAb?= =?us-ascii?Q?nTYEu+XLn/GjKMGq6Yn4pBDIO/8CkPNTW7IjQqljaBrbkfziquPHR2qvWHLa?= =?us-ascii?Q?PKGoUSZPAA3qmeHsbCltRN2D0+SWDmJHeFxwQjP4Z2JtuCzTBxDce4ZJ2Ze9?= =?us-ascii?Q?GUzCXFU/HlZpTBCsnqlCbU24gvomuf+bKjT6W4aN2PcX0cFclMtW5RboRGIj?= =?us-ascii?Q?zLHShIrLbkFX3vT8AM0k4g67uuVl9hMA1iF2/Plu4xOHjn2nDyP4bEzDpNQg?= =?us-ascii?Q?M8YZoQoIctB6z1uLBBg/ScZsQ9RHjDLmDqJGsGfFg9/pqX/ZP5rla6L12dde?= =?us-ascii?Q?v5XThFnWFVBdHiHYJ8IiPpgvIXMPZLNhxbU/v1wkXV0QctOlfD9OFPl9PQ6l?= =?us-ascii?Q?+zRNFgAnFQq4h8fV6+OY29BdULMbJln6FBL3K5pDh2YZYeTEDxpSZIYP8T/N?= =?us-ascii?Q?veW0iR4mOIYmmkSm5lAGriBtMSpr0p6PD4D5hNmGPDGCVrbdm6GZVx+TnFDS?= =?us-ascii?Q?ikSBVvuveyniD6WdcrAHUtLoyJ/yAncLByBPIEGxO4nF4jtWptdjpV3OqD9y?= =?us-ascii?Q?z74a2drHrnlvwU7HgSts/uWOyyrxMzO3j+QlDBWhT7lLsr9M/3Q8i692SnrT?= =?us-ascii?Q?6XBqlpVVEneeuaW/NdYBPzjnfroTkEoZHYjlEGj4Vg3PTSLbZO3dpYbod+N5?= =?us-ascii?Q?VtsMVQRNwgiORZrVCgj6gwfAf2EXlhnVpPU0tfUKf3+tj1xwL80vx6rWDtQs?= =?us-ascii?Q?jZGNOFGBJ5AsP8uvvMptlnbLcfeAs94h9WwR2P1w=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3278; 5:VH7gNm0RZZYwoWXDgGo1WVaP3zP+M3Ii+tbVGO/T9KuUvAtdZ3IcQTV0GCF9LOZtW4kgWJsmbDTbE18ANYuhzHeTVnlQ0g6pRvDHuvCMI3o1IBqd+HKyaq8sLndw1C1NeIA5KLknEgCqD84K465J+9uZSNP2UDf/X5Ym5aMFRKgqnj0CHQdnuGlHKZyQwnWN0lTaBkbPEyXd0iEJ45gf6QuRt9IFqTP9z89pk/+/zPgYfQJckrNfnlLUMJtlJZGD4+9CI+gDC9RuG5t3Pgsc9NTw7d4fGkzSw1DH/XiOq4Sumcdp6pjxQqXIFlwVc3iJPSgMF2hW/6SlIlbN4gs8FNyk5RxCWEXy9YQDN9R3ECF/BQYmyQ9VBGlQTxYAP4ElGEb7s0XfNEft8Nt86zFFQgv9ZrnsxDwzCApbrFVKFT9f26JcNhQ8VINA+tT8t5Q+VajHV6sSgIGc3ee73BWtF2Lfj3+A95ceVxAbrdryEuFPJROEGKI1ZJaQ88CDRcmciiw3/gwwITZCSNzkvrQlJg==; 24:rllRWWHwnxCUXDAs1SXxlvf2vZ2l/qLTCDe33KYvf/1T0swi9sfJjL8lwtPY1diHL6Yp4BZdhd9vQvCoAS2mD3HL/6LjhaOK7G41plCDAos= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; MWHPR03MB3278; 7:Xo3an5Zq3jKJY2hDGMoqxjPbCjKnftQ6OghIFD8OX3DpFan/LvCdodwkbx4Tom6vHqQXVZyz9BkYIQJaIQR/o6VGAHXFtjAo0tvXlZqgbk1iHZuCqxsEuLif9HHwWGHWhuFcdccmEOxCttodazS7dK7r6eOzlOaRxTfzZsX71qGzi3ofERFV4oCkI9rwkOYYeFX75Pk2zgzeBJi1zwsPhcvovEBb44qhE/Ygyud3YsAy/MTODlpK8xLcrJrcOb+cjUnsjNcwxMYyZdmph/iAf7KwE/QGkN7s4EUZSUelDg1N/glXYewwl0u2n+SulO1xaxbBkseR8P0M4x5Tjc82GhTgjwB6EocZodTYofn21moo41KCsMn6a5vboh+18ajeylHWiwE//OZTkT7wMAR8kcv9QhqSvx5qEBptsib7aY9swR4eR8NRzJiTZWbJqShB6mAWqXuKp8oXBm2rrEl94yw5jYD58RLGfQuItsNxwth/IoKZT2KUXhINi39GRbSgCmmwlafGMbQ9W8hh1M4tCdboGryBzmRjUXqY+tcEZIC5dGek6TR1BI580Q9kXoe0eK5aFp7KpJv0Jz5dBr4b/ozFyGOoAJoJaFwxYyAQU78HqV9ov8lDaIbpZ0153rysXvHbBNK4fbmE3+4PTcHKViHq5tj7W5EfebD6htOdJ0CGI8kdx2Ubs/+8KpwyLNSCbohXEKa5MP8F6v7wm2xbgvq6Dzxhh71BGpz8nur+U9ebzmp+iH9Z4PJg9PemJlLmAMzOePYlA9pA18bKxsHPj8VJ9DWOspDB26qhaak6Ex4= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2017 15:17:21.4628 (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: MWHPR03MB3278 Subject: [dpdk-dev] [PATCH 07/21 v3] 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: Wed, 28 Jun 2017 15:17:24 -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