From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0065.outbound.protection.outlook.com [104.47.41.65]) by dpdk.org (Postfix) with ESMTP id 99302548B for ; Wed, 28 Jun 2017 17:17:54 +0200 (CEST) Received: from BN3PR03CA0097.namprd03.prod.outlook.com (10.174.66.15) by DM5PR03MB3274.namprd03.prod.outlook.com (10.174.241.33) 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:53 +0000 Received: from BY2FFO11OLC013.protection.gbl (2a01:111:f400:7c0c::128) by BN3PR03CA0097.outlook.office365.com (2603:10b6:400:4::15) 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:53 +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 BY2FFO11OLC013.mail.protection.outlook.com (10.1.15.25) 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:52 +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 v5SFGaPw032734; Wed, 28 Jun 2017 08:17:49 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Wed, 28 Jun 2017 20:45:57 +0530 Message-ID: <1498662964-11251-15-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: 131431366726905855; (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)(39860400002)(39410400002)(39400400002)(39380400002)(39450400003)(39840400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(50466002)(305945005)(47776003)(105606002)(38730400002)(76176999)(50986999)(110136004)(33646002)(48376002)(106466001)(6916009)(77096006)(2351001)(53936002)(6666003)(2950100002)(54906002)(189998001)(4326008)(8936002)(5003940100001)(356003)(5660300001)(50226002)(85426001)(86362001)(2906002)(8676002)(36756003)(81156014)(81166006)(498600001)(8656002)(104016004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR03MB3274; 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; BY2FFO11OLC013; 1:ln2Q3wOdcwLrhxs3OdEO4eby8iCkaduFNdIxXXJPn?= =?us-ascii?Q?g+mbcP89Lb3gx8b0xfC6guguv2iWnAByIIS1RRTnGJJHXjUGIbJ13wVRW2ZW?= =?us-ascii?Q?3cTG4jB7cZCi/aTwsOSLBoJUEkCEityOwwTwDZM7oESqCmaehrGTWouWVjIM?= =?us-ascii?Q?O4qCh8HaCn62hxT1zyTu41PZW3cALAIyt2sGbuyShWsYJe0vmFTnGookCGE2?= =?us-ascii?Q?nNBXhy/CzMXbXjB8IsNvlVouklO78IVpjShHTMAAp9p9kqUQI07NZAwOVVAx?= =?us-ascii?Q?bX/x0mObM1Q1PsSOnCkuzzZjsDzpVBL3jioTvxxOk4Ldn36ph42UYIIwdtsi?= =?us-ascii?Q?b44jwx8ChyORw8jxWr6s/N5ZztdiQ0usukie3ed7ult+R4nl+/KOKLZQnr0o?= =?us-ascii?Q?y7F4zlNzCCzqtF0y0DvNEotcHpCxKbBs/gibkg/RSoJ1d85NqK1BbqP9N8Us?= =?us-ascii?Q?pOOUH0NJxdycAZ72lcZwFXV/TfYEYhws5X4XSCSnjlxEIkf2V0Pl5TdBqvxs?= =?us-ascii?Q?C1rhn5I5LRX1x9IU+O01k9FlIp25QpGIxAVxHmCpjTjK/yKyks9SwzXZxZTp?= =?us-ascii?Q?RcDUe/BYWMj4hkc+10+xP4hE2rEvv3IY6mYh3N9qOUQ51SEr63gzrtxGbjwH?= =?us-ascii?Q?r3TwM4G0ijOOKhhn9kHiw3QkJZPFkbYW/UUx2cJmaQ/4EWmzATMvtnsDHtWF?= =?us-ascii?Q?oo4Ro+AaFhEvDOeEpIbJHMTWPZpOQPqjtb0R9gx66HC2xXndyAb41MCNhpNu?= =?us-ascii?Q?OQvTkzQ4lBwGaLwOUAV5b4u+Vt47utxJgvog8nrCihXOj4bqE7nOq7g/uN9n?= =?us-ascii?Q?OTrhmAYeWJjbZKBu8/7Ga/a5oJNbeFeh9sUtsjgs2qIxZdBIDH+wTuE8FkwX?= =?us-ascii?Q?Daoy17apsv6tR/Rsoweq+gN9lxpPSy+SXBjjoiLaT032Q7tVuLr/3tlMN7FJ?= =?us-ascii?Q?Y++FkIcfIB0uhVYHGNgzlQopGAg0J0t48HX06rQLswG5kP9TOIb8FIhd4j91?= =?us-ascii?Q?ps/satrJ2Y13X/sTUA9hoMKt8gGW+7XRFUPmTpj7f0zdfgZ6OzgV4Bl8RNY8?= =?us-ascii?Q?DZk//ZBAVKHzdLEWlub5DE6Ic2q44+aFzU+dZorVJxijWGf9g=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 339e352d-3644-499e-e517-08d4be38d87d 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:DM5PR03MB3274; X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3274; 3:MgHQtI6wvgf8DJ4uGeFUITUEzH8CNnr1qGlIBcjJn0T7WnFnglJ894PK2gTEuYev0/5BqNDlZZeWOmkmOZ1uERtoTuHbntrP62Fyi2uCxo3YCQ/y8lFJqtmMvUG+nn5l1IleeVihMDoUZuCPMrwwk07U7fk3G9pa8AC/MWvwbNZrXCoxUZVTT+suddcjS+gw2Qa85Dsgbzw3FhA24GPM/2ASJwapgt4WJHS87ruFcRNDD7q/MBxOEZvh66+OehU6MtLCmEXbCOIP//ttadr/AyhYTL4XXKbmhyssGNwkXmumqHrekYCibsERmDYC5RW9sdrkA4J6UpsVneE1rnY1kvjB8bEifi+sUtJKTK57CkoTSTUZED658HZe02RGwORqqcQ06Q7Xd6ObaPUJwyLbImJtsSPbpLUSXykto/hWtNYZB5mk3QNHtyKfBfvW13CboR29C9M6k2pa9xSc0iZbiumnKt3anKLQHcIxkEnvSbsGH5uuBm2AlMNDMnektDPMlzfVNN/HXk+fPD20DJXf987FhbFX4HleQFQTyfBmCHRWKtegH7w+OB52jeEaaXBUZY/nrcJCelaUh37xV3ZNf57bL8bBh1Jzn49JNsGZkYM7499Gr7obgbvrS8AMRsrPMTxrOpaLhrYtdbGRE6cCly+5bFQA/jk/5U3RhDtDi9WROfxBasdLNnVFTgzrlg1CUI5ic8lY6hWs8wao4H9zUyEl3GmYZZphJp8LbXjxgtjjpAHlaNy9GjwYJiX/Ca9e4b0E/lth1KamPtmTXtxvZrbkIn8S/r150tL09sMU70lMH9z8sePQQxQbE311uMKIBogPFnqVx6LpO8QtairfyA== X-MS-TrafficTypeDiagnostic: DM5PR03MB3274: X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3274; 25:Z9+FToP8FFHMrlyI8ugNIsCrwU9JESr9Iqq+CPPt0WcHyudyuIZYdiXyHW1nE3QBMtZYipL/SRbxlcq8RrkIc4hpGkRJE3J54bJ2IHIuW5PfFDWMgEEQTpza4M+EcG6Jtejb25W+nNq7MmrY3A5sV/NR9vgMLsxjmim5l50zGjNmzsSB2C3yXmYC9Wv4DR4fAdTQEs3N6fNkIQJk8yo9keVBCs1sEA6JPIGbGqevXXkmvM/hwHJ0k2u5mHDDW6Wwf+xMh89RVcmxMpRXFXDncUcb6zzdLqMoXukWoGC4BLb/7r34zR7QBwBItxk+k6G5x4CjaEMDsVk5B19sF4p+eQV4IT6jy1kmTk8Udn3dR9EreG9kVGrXx3Dnz7HCvYsm/TMfJmJ78VcS+7Yrax+vCZu+DooYVNyXzEdwPnZfKZuVtmabe+r2lObJUGO6Nx8asqHdu2z7vDmCiBt+9JWCr53+uTAqA8afkL9G3/5Qc9wUBgtJDzofSPUsEl68jExbdwcLYcNLi2PUtw8FyTJpy/4lm3RL1pbfWLjzl916SvASkd1Gl2KMj4lzULA1hZBcQo77QbSnQ6zjyNiopK/lv+WukR4IPR7vqG6HlT1+WjYmBvboIOWO0KwgKBCU4U5zGNDYnHZM7aW3c/OihZMM2Y8fF9okFkhj4TQxbXN6b9mhOsLCU/SDr40eQIYgcE0mspH5kUdSCl69soaHdaGUQo1lPTtgcKBMOT4+EkKLDHN8Z5FeRJvaDy2Kr+FzQPscMdeE+jbp+caMTAOYzdA9of8qP9LHnuLSjQ0VyXtqdABHJeWs4SmKDLn2phba5EaTgcmJLZQTgjgSCy5BWPrra2H52gwQ6ehJj5f40g4FhNgduWqcrLIX2mT8nJC5YjN18LAFf4FRvZ+qd8/90ZhwA8vK4UHaiFNPmsYJqfQfi60= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3274; 31:fXt34deXavRYJ3rdqfbO4N7Y18T8tyLqS+/uzX45AUPhHKOMjhVvaoNmTkxyFEvt8OaoVcdU5cIHwtvblovB79fbxoR5+uBkFOU5kXGVX4seubqd2TqWCnf+BcGalX7u+iyheSkaA8Yu2FheRqVOe3RyUXWvTXvaw0IfazOCVYBKqkvHklghrWu3w+0t421R154oH+g/lS7+sNcTZz2xkQWmguo/gf0LD9iwxoeoxSXooMuD1tAJR4/FQwMvUsXG8z8dzgFTovw6TC7mRTNrcFVLWAKxWMHpEFg1dohzeHLO2A8q8zUw0xBzQBCq13mNIgvKI/Ox7WMtr/67PbRpSC/0uxqbW0B9W3YHluBA9t6R4QOd1wBPRI8kzGbAHcZP2h5SnPvAAFKLxD1QqG8F4am6Qq8hCVrcvhHypLh/7qbVXUeyhyiUW+t0k4QpsNeBCwx00cl3RDPTeinItvdI8fw7PxkkQiMnl8VKEAoZfyiEV4wSnvVJHrgGLfeYP+0Kt/EhLFspr8hF3z2qGgPiOAukDLYWm5qoYOZ+j8K42L7EN1+xoILR5KAbQjaGXP6Muqg82ERrB7/ivuUpz+ANXH5/SjlQORC6Q5rNBofxWTcmsi8cObQIT7CVUmkRRAvDFeV3+pxi43ffs19d/JQq9pOxmD35XPTy1lHyq/FDZ8Up20vuraaHqOHfdHZERpF5lUEFLdFLk4FiXvT7q7GF5g== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(185117386973197)(275809806118684); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(8121501046)(5005006)(13016025)(100000703101)(100105400095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6096035)(20161123565025)(20161123559100)(20161123563025)(20161123561025)(20161123556025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR03MB3274; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR03MB3274; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB3274; 4:760v7VW81EsLG8RVZqvlSEASyhF2+5JuYHT8outhbo?= =?us-ascii?Q?XdJkwlkbdm5HlJ4utneS6BIO/opE3Q/JpgWopIOU6HMGavgSv/Sdee6rln+4?= =?us-ascii?Q?sqy9zYcukmTEVIai90P0uLA0XNlxynczFNAfqYGQyssYeNXeXcW8eRFnwNUf?= =?us-ascii?Q?fki4yr+Db+mtpVqkZulEOnwV0gs8e6q9pGAzFr0TEmUCWKts8eG+HP7TVOvB?= =?us-ascii?Q?ac+xDXtH4ktbjtXMGoplOPuV89XN4clM+oqDzsHSWeWnfOfCfXQm/CqL8ZbJ?= =?us-ascii?Q?CXcN87pyhW3SLH2GftJjU6kDmQfJ6WqsfKxMbo9+7kForTC5mKl/m8WRoFt9?= =?us-ascii?Q?dnl26dXjJN/oMYppprcM/iJvv7aN71eCWfxZWt8EOeL4S37imvNq46vX0YFs?= =?us-ascii?Q?Nvx3Yg0UubFJF7mjQ4IPjnJ+Iv94vb2xl0Hoo3EI+N4Z5xBNkwjmEqYdtbGm?= =?us-ascii?Q?fVPqvUhuK61uSaUMw9UjNqBNp1x8uXO1+fc9EQZtBZ8MrxK7Nlo1hKhC4IKn?= =?us-ascii?Q?FY8BjUjiXL/EZKS0lyB4BmxhZ7pap8UZ2tcqa2wL4I5/qtw601dEhhGaoNwS?= =?us-ascii?Q?NzvbMC042QNkAPQ7g+Aa1CbVtK/js1acCYnSf9ko4q8jhQ04ec1DVjXpEeEI?= =?us-ascii?Q?9G1pqzk2O7URYEVGaF5nrAKJBfOhXMEDuZ970rv7snQStf5lk36RYpBEbImE?= =?us-ascii?Q?SRhZ81yDESpoE0StLFQyEuhQduy3JOfNBeiB2tfLAT55aJCRqqoBvketskHR?= =?us-ascii?Q?+onugnd5kvMbOzwT2M1g1ORlWoEHGmCu+buiYbDmjjPa+9YIfLB4DuDxP2GJ?= =?us-ascii?Q?/HLNaHZQN+nqsltdUniSH76tzRHXVhvsO5/cPg16WjGFQq1vYtQGPJsaczdv?= =?us-ascii?Q?OW5dxNEXUvEo7KivNxjD3S+5L0OWwn0qdehv6rPnEZgEFZSKB8tWIjXuXDb4?= =?us-ascii?Q?R/7NdsIX166nYKXFbXbwHFbW6TSfM06jMpQkjUf+TPnacpdnYnK5T8P6bVVr?= =?us-ascii?Q?puyNcTzZAuBTCfN2yOKk5rrTbzQiO9rWWDTVuMnLd88bEjfRO91P4FfpTDS0?= =?us-ascii?Q?21/+3tzaISFxFaNeu/SiF2yXDOfe0rCraKdg3DpQIf6B/TRWwZ0PVZiHF9eR?= =?us-ascii?Q?0U46ud6zafvaH35QA2+yeRXwjqzuqUUl1FbsqsXHV2lZ7DwhbCf+4e+P8uxD?= =?us-ascii?Q?xzGovDidVLTKLNIPWcPNSQZpoXAlWEpGEXm5Vz0B6L3q8j1Y+apKFInNXXR0?= =?us-ascii?Q?RHPuxC4sNMQ2JYMvPxw1dgZIEu53WVy0wJmi+agcyIEyCTxOlx4St3raAiPO?= =?us-ascii?Q?YzWDWBxisw+Ye575cXYzCM+VcurtmRYBcWl3WfRcE9p8zfraPPhoPu3dpn2K?= =?us-ascii?Q?deisHe0rQ0uZv/Y/wPCViJ73I=3D?= X-Forefront-PRVS: 03524FBD26 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB3274; 23:4aG7vCTAGVcTf9UhA0IiLB9YNu5n/tt2ZwyzCAQag?= =?us-ascii?Q?wTsbwEbDdMZUU6tTtVV8Zb/rROG8R/UIS49OJIwhRBdAp9VzBlGJqApuiRvA?= =?us-ascii?Q?fbPkoV9RQy8ZRfhNF6UDFa5TaVsGHIRr5osjreDD3igEL25cX0XDMMAznn63?= =?us-ascii?Q?8T+F+Kop2EyhmcqVkqyIiDHoZrDXbNQtnO9u02X4hS8T2SGyoXuChTMB1b4+?= =?us-ascii?Q?gX4e5Zz4H/I0xQdb4hGt0wBeVJ5l8E8o+3KkMhhixUdon+Ei+tFBIIUs5dU7?= =?us-ascii?Q?Pf7Bqk/xu4U9+Zhtrk088BIr0+Sp+XSQrduVHRw6tPVGDamuVDfSVVsnjkm4?= =?us-ascii?Q?ba/vRKtz9X1s4JIiLuVszbRk6Mk7rjC1AEJZ8iJWO84sbUysoWeabPM3hLFu?= =?us-ascii?Q?Nu+g+UaXvGZjhgUD0odBsx+WNwvd3S5ZCl1AilL7FHoY5i/GgSoPoXzq2W1c?= =?us-ascii?Q?M7r8gii4ghpUtU1TacCC3nVGV7MFVQln0hA5LaZkA2USMD9SaqLFm3eYIB7y?= =?us-ascii?Q?eYyEIrvIoJlZ5ZWsjByU9XHROQUFWBErE5jmntHvA7XUzONjWq4X0WxEZODc?= =?us-ascii?Q?N321SiwIg4FJhjbrDfcJu2waek+s2mgwnqpglZjGqMsOKVSw69upVg1xe1Xn?= =?us-ascii?Q?TU5HlrDiKZkCp3F7lxsgf9nVW+p8dCQzJmxuOjOufmmAtFaCdQhDDWfT2aPJ?= =?us-ascii?Q?EI0hgKAy06W/ShxXS1EjzoNWN1U2sVTOF44PVr706KkVncTRq9Bgc4P8TE83?= =?us-ascii?Q?Sz7zyifzpsuLI2L6DaeKT2qW7TIyiFAt3+zc70q6/vlLWawhlGM61eYeQLsO?= =?us-ascii?Q?mp88k1cQ0+tZx174EWrJiKzUq1FUEeCVa67w+6ulKp6Adc3s39G60vD072j9?= =?us-ascii?Q?A2PSB2dtKE730Bl4dT7LatOX0PGTBroq+ZPsNouyAWnoBLstnRyn8z6xsLEa?= =?us-ascii?Q?o7lEcxbesWg9aw56uaFts+ygfDKtcWhQE5mFsuLXfj7zGB9fP6NG5f4t5hw9?= =?us-ascii?Q?2B21b2Ms8BoeQBR5245//ZSXX6thbcf5JLrtzRyqDB7fL+dd+gHK+ioqevAe?= =?us-ascii?Q?z/QKJa4Tu824lfr1S5XXAb8Hi7Gf6E8IWXHQWGaPBVBqCDfaWv/eBbbGsE+Z?= =?us-ascii?Q?J0QEvNq05MWj+QfFPvyh0lNL5BDM3PFcbu2ZX6jg0VAJ/u62HjCWde7p+uIO?= =?us-ascii?Q?f+p8wf9h7OzNuldXv6mU+m7DVCT56Ii2/1GwkIVRtsDMfFqRDQb6LQ2Ml30o?= =?us-ascii?Q?JIdSmekUxKIMUvSQBEk57/0YPGIVYnsHL9aFon0?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR03MB3274; 6:lgcuQXiwhUKAlWZDoS2fA0oNjlNYuxa6Px3OUHg3jN?= =?us-ascii?Q?ZsM9Fi80URXIQmELl/wJ8aPQdw0HCz4HHEpc+EtB2uj7So+jD15i+ewR3Zhw?= =?us-ascii?Q?jZa4Rhe2kGzp7AnCRns5geuLHnnEiWwzeOqe0ghsGblxlLQaGXocLoB/JlB9?= =?us-ascii?Q?UC95g/HJBI9vwTArH1/h5panWnIe2wz6EdDJMKj2qIzwb21IhZ/x5hYQ31FA?= =?us-ascii?Q?Uwxqm8dTAw3FajgzWgQariX+5KeaKWDnMqsUHTMrEN84Ek9dqJ8aYZ3+v9H8?= =?us-ascii?Q?Jt14Bl8zRitgT8niUfsFj8VWTP2bD3bOpsODMEsegdfurvOaRp0rYS04vdds?= =?us-ascii?Q?/xcgYqTFddLd+bqidRdblrInwWANsYDvh76fUkOIL+CLTXkOPiFRiSrWiCte?= =?us-ascii?Q?vB17bQm9WkPD+PTzH5uZ9AXjQLwXjpRXCd/5f4XmSzq9m/SLimrslJi6qyyL?= =?us-ascii?Q?ho4oQisX5zI+LonJDuvRr8Yx74qwUWc+8B4YYBv33w2jHsh7JNPZGSmi43/z?= =?us-ascii?Q?LtY9KEQURKU5FMnyexznpzZoS5PoPgZskbh1RM7hL5qd5L8kX/Zp0YHQrsA+?= =?us-ascii?Q?qvI59GU1R5fvOB5RVKVPq2YuHUn4AuDP82yWQwlfytJUhlMtQcj7Lget0kCp?= =?us-ascii?Q?qCiSOGv29kFkcckzpRUj2gAnLprUrh725PU2bHY9ku3dWtGAvGSRje6DZycq?= =?us-ascii?Q?eGm1sT2ddQryvD8z3MtmHhVqvlqVWPc8PdcevbL7HZMCEpBc8TKKm3SLUT0X?= =?us-ascii?Q?WSBfCklJsQf+aSgA9p6Fv2KYPC1AlR1yxFkv0MfkF4sGIadGWcuwe3bI4wpk?= =?us-ascii?Q?kCwQulF97pMMjiKaLyE0abgkC5ERTfcFflXU32GqNg8YA9iCQR/AqQkuGzGc?= =?us-ascii?Q?w6Annan26w0hFEFbnLEAZc2taQITYkVI4YoMDFDz1KuujAnZaV6L538cxYyA?= =?us-ascii?Q?e9cQPnkxTcqn8BGJnuTl0usAaWeFBkMnEQAWg6Rw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3274; 5:2oHZkNcnUNgPY/zQopx7Lwelx/hTTt1F1nMrUa8zJRiuo3iZDY8qXivehejiqTy1lUyb72k/uxIyrbOlPs6gUefnNkuRQRS0k9e1hu4fm+r+ZMCjq/Zbfhkz1Mp5BjWPwpRxWkH+2CFE+XGYjwJ5tJGwQ96sLTLZkpzlmTzNX276dUZZQ6LQ01iU/GLJOWfyfzS9tRBsrc67UvNhJSkTh3L68GcKS1jFQkVUgROKqf27G0q6gntbNnXDyIca819P/9JvqDWVC4fUY1hXnsftxjhQmrXBAw+AxFFOTCf8bQg/sM6TtQm52yTbtm9PHFMEVbX5XHnebDrTNqaek4MwRVIF65AaD7UIGpuiCyX76DgEkaSAJHAUdvR81w3JfCHqzFVc3HI2/ra53TutWknYWEAi+HMRRz8kHqget4ap8HWiXM1kdUEvqTbCfWFiZ1MdJ+Y1Ip+m3f30dZlM65oxP999bxex6kLawnDeJ8tb2Awkg/cDtImYo7brlhgWhbR+WjxaM6w4dS1nIvA7cEZNhQ==; 24:kCsl53t0aku4ZuGue1QIxjIGYzqY99UszbtzQi44Olr4wlkYDowVt2M+D8G0YsCUHJbTNd7cmgA1KKHYc25S0cxxnNeviCux98trHOE5r2A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR03MB3274; 7:F01LokrCWViGWvKEyL8nQvSz9lkhWvSg0iYJXV9UTRfcQCVd6rRlobOxxEoEl+VrzevtOK39GWIKkIeSc03AorlocJsRE4/U28cw4FDhwVINu4VzSy9j+myaZOaY/WqJMrrKyHKeP5DDKTqSzewDVndrjV1rSJZICXkbklYdJCw/lVVhpiV2Ymu8jxxXLZndOCdFQF0ZBa/4TFPIMvxDIZkEJPSd2Rgs3T9LOL5Cl2RtD4V58IkCVJfooRXuFeKffbR8/a48z06Fd6IZGdmTDiSKQoL45+b5TQnFB1gTgy2B/bELGry3rOMjELrXttewrOfmVMPUW3qF5A01qFc+8tDGRfSbJkee0Z85fgQOe4h86sLE9ufC9Jzd4qm/Ua3ZvTYBc9nkNxD6ehuDmE6P4RXWefTwBRBcXJCOdJrK6g4XJVxzpxABS+fp8vToXyRvbrV69b8P4ASndPs5iOJx9UcCyV9ztZ6vZ6LWRgXsE1977OpC8o6xpNvaNMTb+FC9BY4vKWrxdD1UUnj3fZKGtbtzdgmab9Qd+ek0Fy7h5Cm1Z+HHXYw17vmeTCGMcxTqMy9ik2iZ8sGPdECr2kGZWSvYRIKAMhpNVtBEAPrV/WgftHoSROnvoX6+rtuLrMVDafY9REvywQGWn3VtQ77Am9vzEfXQM1i983ChwG7A4/3JC152IebkuH9aJ5V9Qo0VWEpFhT6oCVer+vCdGr98xVuBWfyMsLAkQdIHC+QCR4zbMZ4/oTh1RhMoYQ7MqLg2l4nPobkxHkvX4Hgs4ISTl877iIGcWS6oQpA80AtVM0M= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2017 15:17:52.3629 (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: DM5PR03MB3274 Subject: [dpdk-dev] [PATCH 14/21 v3] bus/fslmc: support enqueue with multiple enqueue descriptors 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:55 -0000 This patch adds the QBMAN API which support multiple enqueue descriptors. Signed-off-by: Nipun Gupta --- drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h | 14 +++++ drivers/bus/fslmc/qbman/qbman_portal.c | 70 ++++++++++++++++++++++ drivers/bus/fslmc/rte_bus_fslmc_version.map | 1 + 3 files changed, 85 insertions(+) diff --git a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h index 7731772..39407c8 100644 --- a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h +++ b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h @@ -883,6 +883,20 @@ void qbman_eq_desc_set_dca(struct qbman_eq_desc *d, int enable, */ int qbman_swp_enqueue(struct qbman_swp *s, const struct qbman_eq_desc *d, const struct qbman_fd *fd); +/** + * qbman_swp_enqueue_multiple_eqdesc() - Enqueue multiple frames with separte + * enqueue descriptors. + * @s: the software portal used for enqueue. + * @d: the enqueue descriptors + * @fd: the frame descriptor to be enqueued. + * @num_frames: the number of the frames to be enqueued. + * + * Return the number of enqueued frames, -EBUSY if the EQCR is not ready. + */ +int qbman_swp_enqueue_multiple_eqdesc(struct qbman_swp *s, + const struct qbman_eq_desc *d, + const struct qbman_fd *fd, + int num_frames); /* TODO: * qbman_swp_enqueue_thresh() - Set threshold for EQRI interrupt. diff --git a/drivers/bus/fslmc/qbman/qbman_portal.c b/drivers/bus/fslmc/qbman/qbman_portal.c index be4e2e5..137b55d 100644 --- a/drivers/bus/fslmc/qbman/qbman_portal.c +++ b/drivers/bus/fslmc/qbman/qbman_portal.c @@ -574,6 +574,76 @@ int qbman_swp_enqueue(struct qbman_swp *s, const struct qbman_eq_desc *d, return qbman_swp_enqueue_ring_mode(s, d, fd); } +int qbman_swp_enqueue_multiple_eqdesc(struct qbman_swp *s, + const struct qbman_eq_desc *d, + const struct qbman_fd *fd, + int num_frames) +{ + uint32_t *p; + const uint32_t *cl = qb_cl(d); + uint32_t eqcr_ci, eqcr_pi; + uint8_t diff; + int i, num_enqueued = 0; + uint64_t addr_cena; + + if (!s->eqcr.available) { + eqcr_ci = s->eqcr.ci; + s->eqcr.ci = qbman_cena_read_reg(&s->sys, + QBMAN_CENA_SWP_EQCR_CI) & 0xF; + diff = qm_cyc_diff(QBMAN_EQCR_SIZE, + eqcr_ci, s->eqcr.ci); + s->eqcr.available += diff; + if (!diff) + return 0; + } + + eqcr_pi = s->eqcr.pi; + num_enqueued = (s->eqcr.available < num_frames) ? + s->eqcr.available : num_frames; + s->eqcr.available -= num_enqueued; + /* Fill in the EQCR ring */ + for (i = 0; i < num_enqueued; i++) { + p = qbman_cena_write_start_wo_shadow(&s->sys, + QBMAN_CENA_SWP_EQCR(eqcr_pi & 7)); + memcpy(&p[1], &cl[1], 28); + memcpy(&p[8], &fd[i], sizeof(*fd)); + eqcr_pi++; + eqcr_pi &= 0xF; + /*Pointing to the next enqueue descriptor*/ + cl += (sizeof(struct qbman_eq_desc) / sizeof(uint32_t)); + } + + lwsync(); + + /* Set the verb byte, have to substitute in the valid-bit */ + eqcr_pi = s->eqcr.pi; + cl = qb_cl(d); + for (i = 0; i < num_enqueued; i++) { + p = qbman_cena_write_start_wo_shadow(&s->sys, + QBMAN_CENA_SWP_EQCR(eqcr_pi & 7)); + p[0] = cl[0] | s->eqcr.pi_vb; + eqcr_pi++; + eqcr_pi &= 0xF; + if (!(eqcr_pi & 7)) + s->eqcr.pi_vb ^= QB_VALID_BIT; + /*Pointing to the next enqueue descriptor*/ + cl += (sizeof(struct qbman_eq_desc) / sizeof(uint32_t)); + } + + /* Flush all the cacheline without load/store in between */ + eqcr_pi = s->eqcr.pi; + addr_cena = (uint64_t)s->sys.addr_cena; + for (i = 0; i < num_enqueued; i++) { + dcbf((uint64_t *)(addr_cena + + QBMAN_CENA_SWP_EQCR(eqcr_pi & 7))); + eqcr_pi++; + eqcr_pi &= 0xF; + } + s->eqcr.pi = eqcr_pi; + + return num_enqueued; +} + /*************************/ /* Static (push) dequeue */ /*************************/ diff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map index c879e2f..9950557 100644 --- a/drivers/bus/fslmc/rte_bus_fslmc_version.map +++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map @@ -69,6 +69,7 @@ DPDK_17.08 { qbman_result_SCN_state_in_mem; qbman_swp_dqrr_consume; qbman_swp_dqrr_next; + qbman_swp_enqueue_multiple_eqdesc; qbman_swp_push_set; rte_dpaa2_alloc_dpci_dev; rte_fslmc_object_register; -- 1.9.1