From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0063.outbound.protection.outlook.com [104.47.37.63]) by dpdk.org (Postfix) with ESMTP id 90F827CDC for ; Fri, 30 Jun 2017 10:55:32 +0200 (CEST) Received: from DM5PR03CA0025.namprd03.prod.outlook.com (2603:10b6:4:3b::14) by DM2PR0301MB0607.namprd03.prod.outlook.com (2a01:111:e400:3c08::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Fri, 30 Jun 2017 08:55:30 +0000 Received: from BY2FFO11OLC015.protection.gbl (2a01:111:f400:7c0c::136) by DM5PR03CA0025.outlook.office365.com (2603:10b6:4:3b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15 via Frontend Transport; Fri, 30 Jun 2017 08:55:30 +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 BY2FFO11OLC015.mail.protection.outlook.com (10.1.15.59) 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:30 +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 v5U8sfK8032271; Fri, 30 Jun 2017 01:55:26 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Fri, 30 Jun 2017 14:24:28 +0530 Message-ID: <1498812875-6945-15-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: 131432865306212815; (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)(39860400002)(39850400002)(39840400002)(39410400002)(39380400002)(39400400002)(39450400003)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(54906002)(47776003)(50986999)(356003)(305945005)(8936002)(2906002)(498600001)(48376002)(76176999)(106466001)(2351001)(104016004)(50466002)(105606002)(8656002)(86362001)(33646002)(5003940100001)(4326008)(189998001)(110136004)(6916009)(81166006)(38730400002)(50226002)(77096006)(53936002)(2950100002)(8676002)(85426001)(5660300001)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0607; 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; BY2FFO11OLC015; 1:XOE/tcTAMorqD+qgEkv/lr2936WwYnzeDY4xzAhhd?= =?us-ascii?Q?TA8F/P24He5l8/Men3c57szWmRQgOFDj27E+7YtY1lRY7z2txoqM2twI7Fyx?= =?us-ascii?Q?e9eGc3c0vbWrxCvhgCuPMZgDXiaSCdMpGUhRs89rG7b7e5PQc5Q/jKsmz9LN?= =?us-ascii?Q?uL0HjAJfBQxxRBhPcOJXInHIKNtgflLO5YyiKQEbJnSTp3EI1xl542DTaov8?= =?us-ascii?Q?uZGBTELX6bL13GMQ424gt1pc0AhZf8BVuEqRhROf4/cijuqGWF2IHpG4vOOG?= =?us-ascii?Q?sVJLadkWo7KptiFKotrR3HguezDn58hjJLM4yzVLeCY6odH5rg8ayTgclH8N?= =?us-ascii?Q?FA3JN/pvPqZGn+vvnv/nPteHyyG9bTtd5H7NgZ/iheZJKl1CghTxKQTvRWe/?= =?us-ascii?Q?gtSi4nbt08S7uXepXf2TsGcToXpVXqwmlcpYB+O60LdSr/U78W4CdDFUAM95?= =?us-ascii?Q?omiOhwRDQkIiPptYwzkiOcm0F+FeN123pid8nou64NMZFRrN1eod78v3yGlW?= =?us-ascii?Q?EshavfVJ0StOX2BkhchyPdt0ojs4F0Thpm5SCfYDvRBHRwdNn1tsT1EikFbz?= =?us-ascii?Q?vmP/Cr+5rgOPhenUKMLd7D82vXnJ/gUrdfgyjDF2gsF1yfr8TeQu6q49CITZ?= =?us-ascii?Q?qdfUxYZNt3fDoqq342Wn5JGe22b5w8uiv7Pk9h/KthUsPJo/A1GjlqO9zDHQ?= =?us-ascii?Q?Aq1lNTgXELIb6VEb1U7U8ccIk5tgoTb9og84DEYUFJeZZTbSmtzPyh4pAE2G?= =?us-ascii?Q?zpKBcqPTA0uKh2vjMiKQ3VHdEFBdltBhSgREAscBFkyxFZP1Ufm7RPCDp3ve?= =?us-ascii?Q?UCuwVMxvUad5i3bUac2kwyF5hdYO5EHjIc6l/+iEqF7uv2KEiiEehTzL2R0j?= =?us-ascii?Q?Zb4GhOidj6g6mSHw8nBszfa/S6m+Ke5kkb0RxNvb6FztcoIyBzhheVIvnOZS?= =?us-ascii?Q?0oA1UZqNY1esavHZiulcyPlJVAV7b8b9mD8gOq4SBPGGI64ZbuYGlLBjqzTa?= =?us-ascii?Q?zkcAJsHvmhDj4XZ1YyOy4PpjWLjypgNN4j8a38t0FWqvuYXsoe07jUlWVkFM?= =?us-ascii?Q?vr24n6yU+6VK/RtkcqPpJWQ/EJIbbuI1D+7AMC0deNVqymujg=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 50bfdfbb-33d8-42e5-0d8a-08d4bf95c2c5 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:DM2PR0301MB0607; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0607; 3:HpmcJXijJ+JXPVnyc8NmM8nQdGrw2CSfqQn6H7rEA9qRELeLiagwf98dOKN1VW3QKDZfyUcOOrrCjV13ROkFPGIBGi2+7aEwdMIxm//z2h1JMirJXYebKKsLXi+pUZksc4EnVuBtI+J6UCdjwoUx2HYua3Wsn+p1pX1cxrX+6f5hxhFyujcGEVI2RV0ckMdTqWcJM2kLmmSt/VInarhQukeQ5BwVhn9wQte/GpLJy1u+9xkz+UD+5lQr+tUgt6jATRuaWLfRXpuHSCxD16u++SVgmpc49fx+pv9hh+tJncz0OidHS7ooDe/wI/tQC/ATHTl6AlLS1YvUrjVccim0OEj99H5PiMU0ixdqIyVZJC6UdudlYSWxUuCmaWW4In7/8FHMkTyEOuRGTupr9iFD7ey2E6xSXYF3AlKCwZWBfT5ffhXSPCZ0+IbK19olb5PD5MuK+fGV3p0SiepNzRGv3onoswj5GpFdn1mS9E1p72svEElBBtykKU31Ixo8BP6ci5yrF66vA8WZoG/EQPMT/waS7ALidJv3mhRzvQhC2a7qe78dm3/NJ/GTHgi/Oui+A+UMz/3OHSxHjJL3Kj6KNmXnXnmM0fGJHFFrA6dZEBTLVuz8Qc3bjoP3BBzF8bZo6aWbc4q1rlp2zcQhS7W64em+JNLMSMxzdiwvjwslRLpjq4GzaCUEYUTgAhaeqESSZEcRpcC989KNSuFWGlmaqY6WdNanIgSQDnp1ClKHZNs/nstOtmHrLfd0ntFoQep4fUdN9GTf9P+0ot59tVZ8gfp4ed2hh+voMb1jgU1PaL1Gn9EgxFOVCeJvyHAL2OJzCkqmEoa/wVgOkD2Zei97QhLjBq/Aa2/d0Ij0sV9FkuHZ/vHZ2tbrUsHjCjYnbtd3 X-MS-TrafficTypeDiagnostic: DM2PR0301MB0607: X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0607; 25:Bq4HgPxQu3EodefNzbbbN5XyKCBxIIQ6QQ4En1lAKdc9JNjJwesaLEvnQk+fKgTZJ6ThA7s1CDpvnM/lqwbvYrDUQKUcuU0kG4NTQH3Jbk5VtdtY8iIPlczjo3bohx3J6QkhwBtpdFgKWCw8bCg9yY2ZuRkvW9wHbUBSD81tMop6kMjLZc1Qi62tLA6oQ1LJPc9cKv1rOws8x14fNPsX2P4DIdaI7llmO0s20RcvDjzWMWJ+h4IeRdSxbiSUYC/H+87sWPaND9h6uKRbVUB0hUu6eDL/Q0dyXVNQ93BkXF7fTD6bCM5R0PshMSaptryOXy0lWtLXxf5yhR2L2pAhKfduGjYSeJacRIyVExMFH8bmqJdG8tnRodi7OHyVhgSOvIsgC3kCdzn8Ttw4bf16NTdIe9UYyN6Rf7ez72gdjUqzL9m1Nk+3FyXFU8LZ8X4kryRigVFlIkjynuUKqUrrGmVMmfW1gT6j8q3WyAm2OmD7LZhx/XS4wSKtZa7key2OujAl07eGcB5unMDITZ9wVBixpXsiMyF5Ez08UuMf4N49OU+N1M6h7kmUUobPkVB2c41Mik04bi/q8uSs4agHPBU7NefM653uU7X3BUtXCc2fXQUtks1OGPJvY8ygcI0cSpQKvIzLeUmtmXNNBLw3QGg38bqpYGV/6o5/hhDCxIhS2NnxxsvVdh4oPgDLktqb49VAJla6CyJ7lkow+ichNd4/fvmZ2AzCUZszlgkW2sgbwD5BRUL2V6qCExReHm9AkGxL/X8qItxZS58f5ZPbF8D+OC91HG16AzUAkYeECEVQ/3Kbqdqd4boA+SjVMuDO4MnR81zpb8+ewSPIRpyDZxNPdDSmat5FaUf3IbxsYm93D2la0tIS79/3lWYlCKwXt3VADHcn0T6NZrYV2yHUjp2KQfhCxw+7+yq6Vw78i9w= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0607; 31:rc9Xadp+xqyMhXUc72qt05L5IKk7RXhlPimsF1WGz5g2r9gsS/cBwcKgEDRevLhoTrZMyDA60w+xy6/KUMycYODyrY+9nZyqCQP72WcUIA8ojb2ojsZF3e9eIuHsYaSsav+N2AKF1kcq1EgRASECuiLgCFlWs+CvsQhAXfVh9mCxcf2ge7vbHhGEfytLRMuXDg9gywGuort4wGpLOLOUKNoug6ZvKZq4DRU02WmawznpDM4c3+zJnRZ9E3nHZrFuZdpwbBIH3N5Px/KYUJJl+COML/FAMRvsqip+tUXYLkvGKl4MNSEVsZlaJioA8A1XM9xkjJm8KoRU34VQC/PLx+cpVZ5kbz/16r9KZiDfBK35v+ShHuFrbQbCJGY65qzul1T/cOdCtTpmRKZBPnKgVsHvDeBSlnkAst/AsZQHOfs4hR5yzS10ineWxd+owg4DLGItWeYZIFw6IOYLuao35hcSsfE/5h7fb1TAe/uFYQnzua3FKHMxDm1wpY9x2DgHqNDMOgXQ+0TvyaR2Lc6aPvuedAqfc1TEg9oE05n1t0VGAWCVSkX0VlFjCK3xXUNVllTr7O3reOWYpbuglb8C5lhdx0yxHvfLAEhWGCvK1JNRSPqGL6V1UYDZyMFaBtGa65PIFM7YYoeNUsA1J3ZsdOcupDhXEdMBFMzX2V1zz9Jac9v2+jCfBFAYjeFUrv/6CZZvE/7jtLx334eiKoRNFA== 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)(5005006)(8121501046)(13016025)(13018025)(3002001)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123565025)(20161123559100)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123556025)(20161123563025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR0301MB0607; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR0301MB0607; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0607; 4:66UkFdscoGyTRN6EXBsLmBcdRiDEN8g2vGwC2sLy?= =?us-ascii?Q?AhyYYxZkeDIHzlZ856KO8UfeDyM1K2YKuHdNzFbwMJK42Uz+Ct/dVtRSx1Yu?= =?us-ascii?Q?cepEhAMo81Xu+NBzb6naDCV0edeDf3GmeN1I9KC6jwEjXIUrQCBYLEa8y7hH?= =?us-ascii?Q?5xydn5xNeyUpZE+qUdpQaMNdP+WK0Ag5BnldCVp0izmziHu58NFU/8RJBYZd?= =?us-ascii?Q?Dpv9/4GUDXLR+GfFT+A4Jcl3vPTCQpGsXO3coj/Q/2uxxb52alhFQ28VjU5x?= =?us-ascii?Q?moWeGiwSPpcB1d2Q4kZNcrGUv9xloCs+u3nrGr7igaMkdHYzh+iKAx0rw8/o?= =?us-ascii?Q?vs84ugyI+sfqeukDFAEWoy5L6IJoKEgk6XFcu1rfNGl3kT4Ukyth04HgBtkN?= =?us-ascii?Q?KYw2HZjvpqPYzG1+MR0WfqvINZ+CiTxEyb6my3KAyE385oK3F6ZjAFyqGrzf?= =?us-ascii?Q?O4xoWNps2gokdpzmmbfvlY6nMr2xWBnbJREc0d/NeEwzGb19ss1eGeBnrYmE?= =?us-ascii?Q?4Rj5ed6bMx7rEwGP+UYGR+B5UQ4DCadoFJWBKatcP743Xz7CiFDBiOKlIxHP?= =?us-ascii?Q?J/xmEoh3Qc9RiysKhHagX91gLZpLwYod+/Rk6j47PWzTH7BdjqlHcsqStV60?= =?us-ascii?Q?MIZUIofgX248K+4KxnuHWKMvXVrm3W9zMzGdmQJQjnEbxTVEGBze5fKWFhxb?= =?us-ascii?Q?xjcjBGJ/g3f3AvlsAVxyepeu00cFT9YvHMeBi027+tmCWf8TDQGpEXqQbZDQ?= =?us-ascii?Q?0XEgBS/lKcUjLllTbEjHTx8iyLGA+D18D1JLaahzW2RlaJy4dTicDmDszpXJ?= =?us-ascii?Q?LI91VqKUPQKQZK7Ehc8ym0sXrSxdZkNRkcOv6Lb0khm8xqwe85cEWKEbcC4x?= =?us-ascii?Q?UAX4bbLW1+fGdz9i9dv21Dn0VD/TP5rapM0x7jw7L23ziphV47jUPi21wZ+y?= =?us-ascii?Q?pJkSuQYCGLwOJFkCKsKZ99V4/c/iwaB+C+H80t6Wk1Gke+MrdhcbXRRzxvvL?= =?us-ascii?Q?3PGdqdrSJanN/ZSVrL6hWAByHVcGtvne6gWyPD9TH1jHQZlUppN3abPove1r?= =?us-ascii?Q?s2h6w2OztPtDTmhaF0zR1Vf/ADyxZffMRYDa6cZ93vsCz+SlxhxdjH5QD1aa?= =?us-ascii?Q?3wQJJsGJ0A9jIhvzOlTk1G1y8nxa/WVBQHFzlGudKBXLmlWa6tT+vluM9HXM?= =?us-ascii?Q?22NI22Wvfg3lKPOJgv3yiSzgZNAO9OyHPzlCLdKIP4PX1vfzpX9F6G33MY2h?= =?us-ascii?Q?jFhiGEGntdbQM8VAFsq9fzHPePNmhaoDTCRxAbW67XzmSg2LgIZuQNRd9Aou?= =?us-ascii?Q?dhmp/KtFKMQNBAmSuafDO1PRpD8Ypll3R4lAJ98m1VOFCB4TP4rgcRMbD59O?= =?us-ascii?Q?A1vheTE8oHzRxhDyIMIkKjE5sb0=3D?= X-Forefront-PRVS: 0354B4BED2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0607; 23:nMmXcLrqJxKuG4oQUpmizdrDQ+uaoFaTvaXW6/j?= =?us-ascii?Q?BPPHCiBVab7gDTOG1JUq3Q7AM7isA3Nu1yjJ21nGTSAyA3FFvujLqUa8bVtn?= =?us-ascii?Q?GpSM1fHhqcNSi1UZO13iEn84fUzS8r8dedgyBnXCqoKUiMSBhcJDIuJfUn7M?= =?us-ascii?Q?KJwWkalaegS/vX7PFlYl3v58jC27dv60quL3vqlP+vTtSVJ0PHeTA+6fVaZ0?= =?us-ascii?Q?HRBBjmedvR4BWOcmkFR4kXyU67c8QroRs2GR2O81EPjvUtsUMO8lXBlY+SLo?= =?us-ascii?Q?ZuiyWMP0TEo4vQRkKkoewvM/dz3dvPR2yINVxoUwuIjSJEG6AIZxOpKUE3MH?= =?us-ascii?Q?M3pAKw2YIy3lVRvTr1u4gQohwurK9LKmcyf3U2G+O0bgf7z6p33dRyBI0shU?= =?us-ascii?Q?RUmAfkX081q7beBEHXOt+ZtYM672qfQcnhI8KxXjyj9ESlaXOa7C3YORoDhT?= =?us-ascii?Q?lVjf4YSa4SLAaiTCcqxKVL0cYYT59Fm2+pATKKqLA/L1zPkp5uw7ZwiZ9zJg?= =?us-ascii?Q?L2XBgHOkkRCCRc2hjtp4+AmlLSqkPiXFVDstivnetUSlt9MEBmUg4J5DGAoq?= =?us-ascii?Q?fl+mzNgwRu5EfU8MbBZVlBI2DcyUDznmlqz337tp05h+md+ADA+E8qbkWDl0?= =?us-ascii?Q?C6ZHFTi7IcjDG+qJFykTVPj71JMF0XcmvTCyERjhPSJ0VfGwWslvxKX9wVxD?= =?us-ascii?Q?7qOi1oMejE6Zc2lD/XpQkgJyybFDXEmqi6JiSU6YHjkkm0TaGCG5etc/GKTZ?= =?us-ascii?Q?CzaWvdd6t8v7OUR6qu8wWahYQL0NDIR1JyUkCjU3TKAiEYRarSUt9/qvKgxe?= =?us-ascii?Q?75OgJCApv8IbxOumW/bUeC9tPRZJIKXGzQkIGQl2RU3nl2gLI/pJlUhX+Cr7?= =?us-ascii?Q?caMUg4mLmtVsURZsAuC2Pm4zNUgRwhbVi8QZVD0xFAW5p39jpxc5H0c8Merq?= =?us-ascii?Q?7b2xk0o8aR9zKtHAYXqGPOTM3fJL6xJpNOucK32jxkUacznIe6+8u8wJ8ltg?= =?us-ascii?Q?4GE3s0aUzrvQgqWR47o4TmfP/Vtk9dfbF5cMHQJcvP5gLIujPLfn5eKQ4per?= =?us-ascii?Q?UjiDHGkhQAaB6rPWIvyInGTbwoyY4nr4jDydW6+brVNKEAypAYqELP/exbDw?= =?us-ascii?Q?7IZlDjA0qnrIkARJYwNPbHKgkPURTqBV/+cbKNf+dVuWByYtmMJtX/ELU0At?= =?us-ascii?Q?H6iXeT9BGMew1aIOJ6tr5r+3L4ShN2pmqWbpCgHNwYe86EikNcuaRUpRnuw?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0607; 6:DVYV9sXCO9hs7SDC3Ijb5ecfwDrB2E63q9mYDBda?= =?us-ascii?Q?2oKdz1MEB6jvGKYDgrsoQgJlUUGwZEW++IupvkUsit8VbRdLn0FoqInfg2Uw?= =?us-ascii?Q?YzQwQb/9QSox/C8AGfcxhZ5FvUL90WT5jHmwFTUxVZdNn+ammxAI3r1mj4Pr?= =?us-ascii?Q?IXfz3LAtoJLQAFVlotohGdZW9ZDM1RQ2eOxeI5NgzGOPccjNaVew89nZtT/F?= =?us-ascii?Q?Nfd8CwSDrntonCNnnYzFN+YdVagPpdsR1Ciq+5JbxR+gJNJPLI+ZWhTEAg9w?= =?us-ascii?Q?5I8Cdm5KSfb+0JdOAia4VjVkYLRRJZAKGaBC2gtFgEoE8JzNbFhOng9jmAPM?= =?us-ascii?Q?2E5/S3VUkNGu63Z5/a7L7H/X8Cq5iePxSDobhCwmYG4IaQdkmNQAZrlV+ocQ?= =?us-ascii?Q?pLDyKvGSz9j6Iu0B0o5teIPmFG+utRkvwsV288UPjvnm7+37CB+cSQyVLNe7?= =?us-ascii?Q?5yW1uY9eGZRrZkz6QHhGXGrOMnwHoRFHso213tZeIIxr/Vj2yJM/e9YXmQFU?= =?us-ascii?Q?1qvuPMz8Zb7WaIwhD5pAFt8kIeRIiTQIglh1ozcxzWjgiNwgK1PMlcmmQC8z?= =?us-ascii?Q?fnPm7UZfvAOqKUebKmTyDYhZiOOLlwRf38OCWy51R8dGUaRJ4R5Teb/rJ2N3?= =?us-ascii?Q?OiH/8nQHxOZ/pT7wszAJAWfcYgc//G6WQaQdCiay8O+xIW8nNVEuhwD0g1ui?= =?us-ascii?Q?RY2oetM+kWvSuH44zTawxDX9PY0fEWwdnFWkK9dN0H55kUN82u8QotCYsK/a?= =?us-ascii?Q?pTOEnbNnd3FAzbmwLQ1LBra1hkiu2hnLoeJnvG5QhAZzeFPLRBiYj0Gi336Z?= =?us-ascii?Q?JfHIVz/x7bBHv+2ZtH5TnIiZGFnxXlW5P4Mjz8QGjxEBL7wkScYpyDPxAjSu?= =?us-ascii?Q?qhdUatqwDR5p1hrxaVxkIONwGYwHypjps0HSPnK5ZbNBgzrEFSKXwOaZdMC3?= =?us-ascii?Q?QcBru/ryoy7UzlmWMvmcIKbieydkj7SuQ5sX3+J0EA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0607; 5:sHIZfCKF18b2P4gGY8zdP8n+AhoQULWILrieSWoTbbZa5IMoFri7TuTkCJ4wGbOkEUULBuN8JG9/yA+/3zDCpAtKyNZ4iP96nJ7pUM2a07EaMsgZBmLcoMg9TOMTnIiB322Mue0cH4m3aA/DWDixGZIixs0f/QCqpPDOWf0miwbundq3pPOqz2xtg9Z+MPjGrOMiGb7RmSt4HUeRyPOY705B5YZso0z9LBvPgo74DZgHzzxDQPc2IoDlqC3us4pauTdNLQpnPgzHP3HT2viXIzsaHJIFp44QGwsltx0vJmepflpjgPLYv54Cwof+Ws64QqNhNkB30U4Vr8GNa9z60MI7XxgQ0WYqasLRzh8FghmMIRb34lXc0cZ0txJJeb2aDDH4GZZVYru36rN2amVMyaEjshI2WIAMejdsFA2avhu5SnFz5v1UsjVWD/d6gTHP7hyAtGBzz1H7ccjK9w01iM5AcfO9ukv9cj+ZH/++dXOdX6jT04TG02/Rpn/RGK5qlO30D0egI6ZVvCMNKkn6uw==; 24:2MbhNAwjnMfYAqIDNqM+AuCu7zDWOQGqx34yTfUtqznY3ktqMvY2qLaRx95JYDjlK+HTfDPoe93Webw+hGYE8Kryj5X6EOqh421fyVN0BBY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0607; 7:yKwxHo9cYZvT7ek61lCQ+ijvX3yXvxYBAFxUAkwalXZ/OJCYaSX/hQbi6+lr+b6cF4BVCEQvH3GZzboVdgs16xGjhPrDfoKvoup03QPRWjF8GifGwYxF+qq0Mf0+pnGXrXXmDBEmfURgdgF50GlVe5u3TQcQbA1Z5onC24LbWgoMZIIS8Bj5k+p3Qhw60MBuFgEwRJpTTVH3o/II5zWZQnh/7p1E+erWTugCxTWAQNUZOMK9t67BWUI4+sRlrW+V5OkUzylppKYHYzm3XORFkRpcKA2FCBQkS9unIAO7KdOZOJ2xn0Gkym8AacK5FvfZJYa81wJlPBGKtvZxnV3ofACs8tzSeH8i6O+9ITVcSpsjr4lKxZldbpAZm0Qvb3ldmT/cdwM1SrZpg8hLK1t0Zf8lwCk9TFDvyYiSw+tA9vaxZsSWBfad+Gg0HedHEgaGm4YJiEqXSQ+yo/+2jHQF8vsq9rV5B8hYzmn6m3kCJCjjDRAs7myuaEzGVe6VLZaaezvv2IHveOk3aN2WuDDnEbDIKWtcN8eTtIFTbSFR7xWw1YYOcjiWTpICZK7BDIczfW84Eg0s22cfjXXtII4IpTWlBupv1/mmeKTU1F56JzEiBUnQyKYeyo0I//LrUN/t/EkE1HkNmqLvB4fBmvZILPkZZpfOlwfdA0E1K/YYbtIXtTBDlVFgsAUewwXJKo9WMWUk0EbJ3xASCUIiH/WDqn6GxPkkDoGLd/6rFFPdNfZewrStb4BQy+oBzgNPxVA7QuE1rQuRl6pDtWoX60P/LPyPmB9aqMpgueP0BTEhcz4= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2017 08:55:30.2936 (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: DM2PR0301MB0607 Subject: [dpdk-dev] [PATCH 14/21 v5] 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: Fri, 30 Jun 2017 08:55:33 -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