From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0086.outbound.protection.outlook.com [104.47.32.86]) by dpdk.org (Postfix) with ESMTP id 4830E58D1 for ; Mon, 3 Jul 2017 14:33:10 +0200 (CEST) Received: from CY4PR03CA0108.namprd03.prod.outlook.com (10.171.242.177) by BN1PR0301MB0595.namprd03.prod.outlook.com (10.160.170.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Mon, 3 Jul 2017 12:33:09 +0000 Received: from BN1AFFO11FD035.protection.gbl (2a01:111:f400:7c10::178) by CY4PR03CA0108.outlook.office365.com (2603:10b6:910:4d::49) 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; Mon, 3 Jul 2017 12:33:08 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) 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.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1AFFO11FD035.mail.protection.outlook.com (10.58.52.159) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1199.9 via Frontend Transport; Mon, 3 Jul 2017 12:33:07 +0000 Received: from netperf2.ap.freescale.net ([10.232.133.164]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v63CWqgs001316; Mon, 3 Jul 2017 05:33:05 -0700 From: Akhil Goyal To: CC: , , , , Akhil Goyal Date: Mon, 3 Jul 2017 18:01:38 +0530 Message-ID: <20170703123139.15148-5-akhil.goyal@nxp.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170703123139.15148-1-akhil.goyal@nxp.com> References: <20170630074322.30661-1-akhil.goyal@nxp.com> <20170703123139.15148-1-akhil.goyal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131435587882296045; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39400400002)(39840400002)(39410400002)(39860400002)(39380400002)(39850400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(9170700003)(54906002)(50986999)(8656002)(76176999)(1076002)(53936002)(105606002)(6666003)(2950100002)(6916009)(110136004)(38730400002)(33646002)(106466001)(2351001)(8936002)(8676002)(81166006)(2906002)(498600001)(50226002)(50466002)(104016004)(47776003)(189998001)(48376002)(36756003)(356003)(305945005)(86362001)(626005)(85426001)(5660300001)(4326008)(5003940100001)(77096006); DIR:OUT; SFP:1101; SCL:1; SRVR:BN1PR0301MB0595; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1AFFO11FD035; 1:m3nCFnHXgC6FPaX4ukzRg3VYgfwyb6StaCYqY+Hgv?= =?us-ascii?Q?Ob5pOffvkolrynKfPvSIqckAaTfCat6JzgwpqUbbXoo59JnBb6K7c4CueUzg?= =?us-ascii?Q?wr9pUecy2fYqciwOn6UzQRltA0qkvNHEYEGPGUzenT39R45jpE2UiI+CODui?= =?us-ascii?Q?/lHmgpaprSz0BAK/Y1koJPKPkVkhpWttl2mkitIcWxqvclnFEI+IhEMm3i/0?= =?us-ascii?Q?koKMin2qRLBKwUzkNIewV65mtVXxILVnEXLB+m9ltFBXGer238mfYh+1Jpl6?= =?us-ascii?Q?RSTsMmNpEvn/uABIMcWowcFH6l7HFR/mERHLIt1en6kx4YHD66d/y7j4EwQi?= =?us-ascii?Q?MtZZa7dyIoMKi2XPELqKjcXyYjiTT+Cb90RFTl+7lVNvFng64WtMwqXeWWnp?= =?us-ascii?Q?oAAYXIpCZDIgiBy9UxuujG09a8J9rvutV7k9C3sLFbx+9Yx0czvIxzEQIbJo?= =?us-ascii?Q?zuUMhuWUOtTQdPgelwkEEe7f6OS61axhYLLACtLemA5WoS15iV0s659SnDZA?= =?us-ascii?Q?QWgwPkh+GczsuGzNlshOD4fs8HtrdExVagaS8o9QPGw+QY6SyI8IqGNH9gIj?= =?us-ascii?Q?K8R6/mAMaHuhDD78RuitkMcmEOUVrZg0+DR9HWBNEpH7tBlhHUgaM+HcSos1?= =?us-ascii?Q?IVREFmXzDC4kUThkc97tVNaycwNyiKL4u0xBov0GwQIWrbV0m/xHbKxWyDGB?= =?us-ascii?Q?BJs6LrpSnyVdMdzFfjLo+bROkJYgEx+IYq6+p1utQD+yLHOMZloJeMVF7/bP?= =?us-ascii?Q?6yIBMkGB/5gtbbMbdz55/Wa7ZsZKFXvJeiIVlYXQvj6pTNMoQz8ExFUvuLcf?= =?us-ascii?Q?7+jmE9fGozKJXExq22yIUQ6ppsSi7vxma9+ykdwUkTZ6i0RxrwoBkc7Hu3GI?= =?us-ascii?Q?YzqpWmUVSP8h1pO+58X9iOkWkACNZa3hKA4MQnnqjtm+5vxMagoX3V9lqH4+?= =?us-ascii?Q?0vmuFM1XkN/E+z0Sb8xXC9uWtWbcK63/esUynISwHNggoObqCQkXTqgq0Brh?= =?us-ascii?Q?J/Eba7PkDqB/ekFpnCN44ydb/4i6J8Yn/QkbJpYIHCPHnVgRKcnQfRM1pYZf?= =?us-ascii?Q?8rnbFEv7FIRE7dmniWpwOxAtqUvLHH219I/GxJqPSFqEhnzJw=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2c97ed9c-f84d-4a3e-418c-08d4c20fa906 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:BN1PR0301MB0595; X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0595; 3:9XEXFrJJx/DVw9OPrE37SkuGpxK/F8kRP3GCif+lTkqnG5HxYw01aU09rEjoLph/L0p7Epl6GDTYrfIV09y7xUbwGNiT50iPNg6Uj4b/nWkMhCerm9x8GRMqOgL8k6OQK5YeBFUaZP99QoT3pXfLf0aOHMrZ6fnz/AZffbpi4ImaQJVAfNRUoz7IF+A95ImKDM7yUX/gx5MR0/LNiS5CCbNXHWG/BnuUQAOG3UXWdtYgwuwCH9Cj3lrI7XkxVFoGUN0uvMTnhbVlLSgjY6hyVtnND7FpBFMLZbr4Tb3h4QEG+PIUOklX0101HZBYIbMd1Rf//xjXFqjDWIv8Zfq1szIA3AfySZRAG3du/7gNJMiomKpWpBDeXFQPYB3E6fbHerTLp+Hp9D23FgmQmJoQvjHh0nYLas8Y2iyFfUJyQlMHjHn7X+H/6QE1QfodGCLJbvvKvWMPdWOymgFMHJRQlCpC6e1/E5bs2TUJWjqWq9I/Qq7ZL139wl/nj2mLENFUDVZk/qxZ6Vgdk9sm8RNrZBzDmD27Xx0K8ir6flTmU9x34HTvAVfmmrl+Nj7MMN28A/91Kb05YKQFWs3FHF/eQAz7NtMEWnozz4MVkwE0wauQRUBTjc8Ax8ur14uxKxDOQlq6g4a9VMJxpnF/fWSrkCBSddKhTKessO9SfJmrDzlZoiIdTRosPg9aBT7tsqq7jIiqUuHPQSvczSBG+igENeptsv5RHsv/umcD2tnfkEk8MPDRO8LtRSv/CFwbXiWbbUJ1oRWXOSXLbDTDfSnazpq0VVj/bwyVVq0fysc8CxqYVrQVG6UvZpXjmAszjAhXzFTgA0d7FUAG9+nPbg6HXhFgwCvRupOvaJEfV8oN7xYVvellt1bNedsE5ehFhbbG X-MS-TrafficTypeDiagnostic: BN1PR0301MB0595: X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0595; 25:QOWnJEZz78q9Z1vSwxKpmf5fs74tZdvk5swQ0k59h8Nd/L4udMAeQaCmc/nOGAb84ABWey9kzGdOXF9zBcuoeRzxX70yTwS4bYcJyH+fdgSghKGgRQFnfbqWdevQmIJdPR4ulDlbfZQt5RxPkhReTuKnzioYFys726ejwOYiwwP6gronht8jJvnVEjZUHdp/UU6i3pq32S2b1f13AnxuGtAQOPs/rIMvwg7uPRVBdDM4EVm0W12gE5keZSg+yhacFqeg541srw6KDVSNG4cxgPrQinK5GpItmf6dhyEDG2YaPFcc1Ikw6VdbH5usVCWRxjPxb5MwTMmWlffJBALZfhSq+NLGb164T1+jsGX5+MKogWJ1KB/N92l995+UkaqMi1cUbgv7k7xw1Gu4XleeE4Xdx6nzT50w1vsflv7tHOshs0FVOI+6OYhhht7WR8guXVm2kuRdwzXI+ql4X9ZqPF8ttNELl2mFOU2y+jefQPMCYgWXjldbrfw9PlI2/NsSQrCSvq23vioZtRMZ5fl0vylkuRXH+V3LdkxpPyudEgI5TJ1Q783a8Mjxep/24Vf9pNotqITPNFaPQT5wGibs1diYLSbbee2GsCEB3EnNG/eGcxZQBkU+hPt1vc7ZHQKo+CQlQj38HCdvj4nQzRuwA7xLNAa/j79on+Oaio08DfNxjBgFLnHwyg4+R7Vd4YOiFYx625Z8qAYUNhV46B5MLLsY1q+6sfTOrEilfDJxWtdW0Kx5anBSK/4/cCBPW4+Zwb99Zc07BMDhsXfcoV3mdfOi4fk98I19xvXCJ3+SfFat9FPsp9bz7Zq2+o+FZWxQgrc/gKUURm44UXNqeBn0ZA0P5qmqDHlwZXzdTPqRD0jYqEgdb6qj0jIoDOZ3Ejkh58zMD0hvIGYHePRLQ1Glst84WmOquJV2TvIOdIOra7Q= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0595; 31:FMAlepwgCm3FaxNI0Vz0PlClvI5q89DoN2kUnMR3BhLpf65FTzLYGVrlwSgwGyc0zXpuoqMdO22K1v/N9HCzGR+B/RUK6g4sp8QPR9i/kSfRAUdv0UlZAci58Jzfeh/A6Q3AkzJmUGU0hlMM2kEME45QNPWtj0whd4pYOAhryrooCNBsGViMAO7UzS+x598uBWuIwYWh7XJT7btQ6AChY5buPH5UBjht5AaU5hQgGKtN7F/3W8i4IFDuKqm5IOa3iGx6hPLvHGT2Roeg1Fuc5+mYB+pG9P+fbkPVh4V78UWXo86ya8UrdFrM1C5FL7SyAPXaLq/e3ECtCg8y6mnHQVoQrloWx5iamG4K6VCLduKBkISdwe9JKZIAWMoSfv280sFpMrzileyCmHwzzHzdo0jqylyuAUyu8fbQEA8jElmymgfd5JIRiYQUrtu9P6txrzHKPOENSZgBAnvlU6lt5wOwVS/vaoUr3JyPUuvJsKINcdHKutQAbmQu5e5+apakmRGLLl6pLr5soTEDfDsfbByvx7o52iZSXCuRd6FPcBeYSoaJXvNQTW7HjvkO/fNoV00MXYgKKoGYyQRqZLzCgkfK39z8cWivUcqfsBkvn4sEsKpF1IBMLO93Eqzs5w9ncTusjgqu4q9oueaqlWBKDr9QjVOIstBtTLxItHWpAWuVqOF1+SibcTH7rg3QYQv1bcLdgRFl0065cDt9ykbiZw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(185117386973197); 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)(93006095)(93001095)(10201501046)(3002001)(6055026)(6096035)(20161123556025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123565025)(20161123563025)(20161123561025)(20161123559100)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN1PR0301MB0595; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN1PR0301MB0595; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0595; 4:9xG29ho88Pr9QIALEDbLnG09TsEH3b9DYmGRbpUq?= =?us-ascii?Q?X4rkIQKDLfFMkF/HnTOyqk4SN0n+bBMYxIl/obYl+cHvdcfmEZj30nfceWkh?= =?us-ascii?Q?H2NTiwHoEyLWNa1wD/2KYq/ItI7Dp8C0FVMj257fpYM0DjWqOVH8EYwVjsiN?= =?us-ascii?Q?GviJ+WbkMtuN5T2VYyaa6+9VCiUvTa2YWIo/MVaRH3qJMKpqW3klKFDvXZSV?= =?us-ascii?Q?i6ZlGkYnT7J3TUoDoVCjlVz7q/tqE6J54uagz7T/GuSt13k7uNXfF9WQqgG1?= =?us-ascii?Q?7Ze5hEbxwNRzH8oGefamHkxGed7yIHhiA4yYe1KrtnXAXqia0AMU9HKgw8H0?= =?us-ascii?Q?LeeelVMJ6bfAu6JdCjoxuigw0mTxkSMGm//3yt0J0FMkHLtLloQ7VkVspr0Q?= =?us-ascii?Q?Zmiq94ZoA8W3BrFUedSVRLQTlkvb4z5RxpEp/Q9TxaX/pwmubDm01iBSwMno?= =?us-ascii?Q?t5iDGfKQXgnAssJWiB2fprT/k3UpoDH3yl+PLMDnvYLOETWrkpEvrIP5V7W8?= =?us-ascii?Q?61+Uc/eDUxRUbN7oXlf9ogNUjlUnd2lAHbO2eTz4xkCetlXrOzjcYHPxXvet?= =?us-ascii?Q?sLudGiXFtUCzKgApNLTuBaCNu1BAP8xftETc0MBiaty5DRw1Sd2/H6NamVGF?= =?us-ascii?Q?y9yw8SC5CNNXVUkqIHA9ncE+zp6YaDbm2Bkg5ciw2Jv0ZGWhDat7O7OGcAOm?= =?us-ascii?Q?24WJJFWflLRVPIA6qDUz+k8I8gFeZDuO3DY379P0HfL2tOYZixoYLokRFfoZ?= =?us-ascii?Q?Yt/NcJo2sj8GWSJ/EyVRlFZ0sAIbiGuu5o4i+C+9XKsD3uiWQEA5zTKxm0tV?= =?us-ascii?Q?WaYilrM/maMeBPQIzSiXbastq3yDrcGyyAfMjlMfngeQ9ULosy80SvR5La+x?= =?us-ascii?Q?r1Oof/FAKeVvKwjxSU7iECIp2KE9v4t2w//z/aTqdetFwZi6tlBb610QeANt?= =?us-ascii?Q?ahgf88nnuOp8mmxn2at7qGuR1pOq5EIj+wPwh7JrshUxQ/hugJu6EWSsKSp/?= =?us-ascii?Q?6YCIiQIo2k80iPydnoechCZ9AxjkmiGRimQFJ3ddy2jkztHqpjBpgUssbQFC?= =?us-ascii?Q?ScxemDvRg/FizMYPOdmD24QHN6fmBguYol2BHsBwNqU9TYIVS/v4o+ww/UkR?= =?us-ascii?Q?eTIBsLofu/VF1H4hqXpuNSTgA9/oWIH/So7GPXTsa0zYNf5R3Lpk9bxTWsh2?= =?us-ascii?Q?N8SozwseSn6VuuvZphXhyalCpx84RJlAvMec1Cp91oM9iSx5HP9m2DB61XoP?= =?us-ascii?Q?JhNUjGJ5PaB3STBJaOnj14OurbsR8Bcadn57kwGUGx4ASbXq7x7tatcMolz2?= =?us-ascii?Q?RF0myaAsd7DNShKeiKXfbS//sdyk7Fazk9xcsKEX2vAA?= X-Forefront-PRVS: 035748864E X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0595; 23:LjoYYgIm15bu7EOVtisqgMpv75eb9QAXtqhNNQT?= =?us-ascii?Q?VYD8XXSmIFC0rcdmo81VDiBw/NvdAR8etbkuAkm1ZaWWhRGBynjQ7Bh8JX8M?= =?us-ascii?Q?WyBkURbDyZIvLcjSscd/9R//PS0uhYBLOq3olqfvUjJ55FBmJEF7vj7Rnquc?= =?us-ascii?Q?oss+w7ahVrUMRdbF4FJ7m0xCpdrZ3aUmy4VbVtCoubnW83oWJ1HiWUBCxlz9?= =?us-ascii?Q?/GWpoXrHlEKkuwIcGhkJaHqRXdTKM8+6XHvktzvJ3Aua3cGMq7gstZ4HgPkO?= =?us-ascii?Q?R8gZ5nTjOKfkz5owjwgnp92fcQNXUmRMbgQF3ncG5QqJ1zh4uHK60vnR9BQI?= =?us-ascii?Q?PMSIVdVQ/j3oSc4dJI2T3faWo/q7rSYt5QFh6pnNNR4qG177sw3/JKuIYI2s?= =?us-ascii?Q?N/uY2vkJhkTpEewTj5myPRCG+ciDEPRBcJkvhTw2cutTmrcPznp1dl0mwvlv?= =?us-ascii?Q?wIIYXJ7GsL8dNjIpGEqcukEDX0u0Ju4zEUpLVYRBG1xjAa/F98SpVBks/XCN?= =?us-ascii?Q?WZeIpAcqYIpuCRPJBrU1FbCnBnxTdtzQc6LqEg0le9qTl/AREyBgOATJ85GD?= =?us-ascii?Q?bACEvp/C238aYxLznkEiAA+sYEBKHu6a3mKJYOs+tNAuDSBHmCvU3jH5QyB8?= =?us-ascii?Q?4KRysJC0KODsjqCpGJb7qjo6RDysSP4f14XVAkxbqM7TgjWpsYA05hX7cM/H?= =?us-ascii?Q?CHis6NH08sRk21o8rMnSnqKyDb6dfBBl9HAeSEGEzbG5JHK6TuZ1Hia75MF6?= =?us-ascii?Q?K9HlAJRgXaBrgf6Vi7jdGSTbOFZ/w+rODzyaLkPZ4H3QuNDY0PoizKjY6Cfh?= =?us-ascii?Q?A0NO/hNT+aVLODORoj4OsOEDOXH1TqVXNSmmxHsrnPiUYfvyF0NQs0360Rb2?= =?us-ascii?Q?2VnY5CZqSRKw9V3mLBySwGQkFs4Krpm+57TX+uE5a7s3ytrsvDKDZ6EEoK1R?= =?us-ascii?Q?MfeCU6fB+Wu/p8C+klzyJDA46GuPR/WbnZ9bjKmfO/yjR+JeOfr6/uBktYOH?= =?us-ascii?Q?tS6dw1i9b/NC3U4zro06edVBy4seOt+PINlur0yGD/odcEiGy1874WNMuWrK?= =?us-ascii?Q?XnK3L2dATGo2nDit6UQb07oHk8skE1jnnypaz1qr72t/EBSE4xEORb2f7hPj?= =?us-ascii?Q?kIyNpvnZNoPwP2CjaR16TvtUD1QhpvP2RZeLnY2BpwxW2tU4kQ0MWYLhNkmt?= =?us-ascii?Q?GzdL6wwCzHFTfz6FUsziCKIypLj9WtEFQPnoFJj8MU6HXUViQ6OO5L16B74O?= =?us-ascii?Q?U9PZLOf/liZWt0HJxi/88SNAyUFDAqe5NFfdgWRWa?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN1PR0301MB0595; 6:jIH80wm2WwRjxvWVXEzXz0P/PxGgnrHFbmX2WtsO?= =?us-ascii?Q?bSxolwDikd7DbzsYfXZhLsVEyGPqdyzmSHBgQ6i0HIRuEdjRRBwk/PO5tExw?= =?us-ascii?Q?ahOtyASkJ4oczMGneZ6ZnXyC1KwXaaUQJxwi7wVStw0L2cdbpvDGeF8LY9t6?= =?us-ascii?Q?HGFXRb4R5kTPlIsc9HlaaRFtPF1IHiNIne142cEG6UfGZCHFb/zWxedqNo9S?= =?us-ascii?Q?AP+Pylrm+m/h8NqM3ZHo4kmJjQXV+l4964TfRABjGXS2dgbgbxUkegmk6rD8?= =?us-ascii?Q?B0hxCbbihL0BVp0x2fUrMOYYakTnYIwl/UqGS/v7iCUVCVpql+m5PLY48ZTn?= =?us-ascii?Q?J1JGHVUhZ4vDYOhqqOq6nnCeZYki0WOUGE8g/3l3afMqDgBxJZW0uuZMyOcB?= =?us-ascii?Q?S6Uuo2I8h9n0w2YT8HUp3Ck4pOYYSiO0I47lfoyEVfsSUaRVseaBiLwl2UOb?= =?us-ascii?Q?7kWiDe8/O6i/82COM5fIgiiqq0NHCBCABZr5RRnh7VJBNTe8qOD9jx86i7gf?= =?us-ascii?Q?J8Q98RQiKtCkbH5Jbop6gp0sVEpqiKvzdaARMaOdymNKZkW6tED0kfVGxKsD?= =?us-ascii?Q?l+rk4SHd86zSvb3Lickz8J4IMCJPo5RGiOjtq7p9+8wQeZEcWC6hoAUa4284?= =?us-ascii?Q?xbFQE4i/f6P81bxmz2DjgyCeXGqoxUJ4wkQTWcDQgNhk9YnMj+k0KYKZAJHO?= =?us-ascii?Q?kHw9J8ca1kJrcWFQgfOaxRRtqPOlIgsMqZBK47Y0taMQv0mXeIjaubn947zU?= =?us-ascii?Q?fl2wVZ8hDB2dH8QpWtMjhQkynJbo402howHJdBLIDKSOBd0Zzhwm/9FYfott?= =?us-ascii?Q?Zq4a+vjesot364yc5Ti9XdfVqPUkBHZMjuonvRWbw0ihhK4+XCypB3JEP8XI?= =?us-ascii?Q?+QM7BZW0qTx81IhTYcwxB2MrewJu+GMID2mB4tZDn+PtEdgih7mhEMDT0T6A?= =?us-ascii?Q?ea6H+iVKLkENLt204QXYuMyy36jFw2aIfunLN4lK2g=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0595; 5:8duZYv83Ed31o7VBBtrBUbhjyHkvEiHyXilF+C5me3eHyAdV/Kw0EZUrjB94Sam4INxtDa6Up2RhwmkfhQbU9YwLQIqtVVEwXfYv5uxjpZkeom55NscMiYeWMosxmHPackKuA9VNjjxkQyAYj1zy1KGt7aVr8BNaUxphkZUl8yMSuEiuF5+yA4ZOufCo74inuuFOURYE7DPGtSm/o8+DqJL/jWRRA+iDuM8N6DME2moevOPamGR6CCS4K6CjlIlag4wVypWB+OjIhU/KL5aBTyPt25OZK2W/hZXlLVp5CGStjAIf8ljSNImD81hstZ04x3DOzLdplOheWdWqlVmD0ZoHjVd65xLv9ij70LrwwUgNEaEW/TGbs8TSW7PoJ3B8y6wQ4IMTCG++071+mL+VoFv3WF7NJoMnOi1j70VauG0wtv5kzMwIZb2aVCH4JJlR+c+dHMRNxm57dL0Z0Wkz+coKQ6kIbPn3pm7mO9ro3V6fDHGstqAtEcKSlvMG2BNtEprv9xwdLcYLJXgZfuLVKQ==; 24:IJ0obsXLgT2YK/8FjKv388ENZBl6Lh4PTzP+I3+PqrPbTs4aTidFnv9Aq0DIvTVNp/TiyVDaM/jSsE4Q5PVmJ/EHoL9c7dlXUQa8pldycDw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN1PR0301MB0595; 7:+4LbR7MGEpvX3l+BEtHCe+eF2t38+jIpiq4MmOBrOZ4JAcLl2FqFGwGwC3G4hFpCrn9Zjb5JWB+HX4Bf8u1GkceVt83zira9jTnW2iWUm1vB11znmpRLDcvri9jpWvxfuWI61zYDeXul8/XK8Vdq6YQ5x4QrJVqcXR6Kb09GB/0u61+kMQAVIq1rw/gq9MUTMmJTheFNyGlR9KWxTvDl6fu9M36IJT/9B/REJOWGObdXZarC7YIRriq7wQIxbvwsNuWvYAxISkw/7m9ZQ3L2d5fcQzSEtFGO5jcUT+ooX84GOmKKywxLnacmtBzDw7t194A1ucOpvPRGCqhaNsqjUVpm05/8eLGY70ArujlHvAnjLcbv6yeBapVadUkdfsCDs8M1uly7g00Aie4wlTUG9XpV3yiIDuQdEOibfoGdAHweQeIOxvygdVQKd4Ty7MTIPwzQsFMQW+cUTXzkYp58WlT12xi0/JRnLkgxjjnTBd80Nco1yT3eflABvqK3WZPUVj+Q8DaEkZRwtjzI+QZy3/yvu29WbWHT6ru0gt4u7HRqzT9iyC2elRrzqGs4w061oqTZsX7kqT415Tt233pnFmrJjIjgrldHNmQPooalVjp9VBrOdH803gATkrcUg7xMZVeX0Cw7+sie7W/ECVK25UKGxCbI0Gi9NWFmcXxWSXv2jA4Dp7Jwtb8VHdpy1oiaQh8R0Cqk8CpbfbQbTe4I6f2Nb6+iGeMOI5M89YmuYXrHCcnQNy9qJAHmdJK11Oeaat1gRZkYTru3F7+6BKuZvEZwSvgykROEZUOrhOOuNY0= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2017 12:33:07.9956 (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.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR0301MB0595 Subject: [dpdk-dev] [PATCH v3 4/5] crypto/dpaa2_sec: add HW desc support for aes-gcm 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: Mon, 03 Jul 2017 12:33:11 -0000 Signed-off-by: Akhil Goyal --- drivers/crypto/dpaa2_sec/hw/desc/algo.h | 205 ++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) diff --git a/drivers/crypto/dpaa2_sec/hw/desc/algo.h b/drivers/crypto/dpaa2_sec/hw/desc/algo.h index 166bc3a..cb633ed 100644 --- a/drivers/crypto/dpaa2_sec/hw/desc/algo.h +++ b/drivers/crypto/dpaa2_sec/hw/desc/algo.h @@ -443,6 +443,211 @@ cnstr_shdsc_kasumi_f9(uint32_t *descbuf, bool ps, bool swap, } /** + * cnstr_shdsc_gcm_encap - AES-GCM encap as a shared descriptor + * @descbuf: pointer to descriptor-under-construction buffer + * @ps: if 36/40bit addressing is desired, this parameter must be true + * @swap: must be true when core endianness doesn't match SEC endianness + * @cipherdata: pointer to block cipher transform definitions + * Valid algorithm values - OP_ALG_ALGSEL_AES ANDed with + * OP_ALG_AAI_GCM. + * @ivlen: Initialization vector length + * @icvsize: integrity check value (ICV) size (truncated or full) + * + * Return: size of descriptor written in words or negative number on error + */ +static inline int +cnstr_shdsc_gcm_encap(uint32_t *descbuf, bool ps, bool swap, + struct alginfo *cipherdata, + uint32_t ivlen, uint32_t icvsize) +{ + struct program prg; + struct program *p = &prg; + + LABEL(keyjmp); + LABEL(zeroassocjump2); + LABEL(zeroassocjump1); + LABEL(zeropayloadjump); + REFERENCE(pkeyjmp); + REFERENCE(pzeroassocjump2); + REFERENCE(pzeroassocjump1); + REFERENCE(pzeropayloadjump); + + PROGRAM_CNTXT_INIT(p, descbuf, 0); + + if (swap) + PROGRAM_SET_BSWAP(p); + if (ps) + PROGRAM_SET_36BIT_ADDR(p); + + SHR_HDR(p, SHR_SERIAL, 1, SC); + + pkeyjmp = JUMP(p, keyjmp, LOCAL_JUMP, ALL_TRUE, SELF | SHRD); + /* Insert Key */ + KEY(p, KEY1, cipherdata->key_enc_flags, cipherdata->key, + cipherdata->keylen, INLINE_KEY(cipherdata)); + + SET_LABEL(p, keyjmp); + + /* class 1 operation */ + ALG_OPERATION(p, cipherdata->algtype, cipherdata->algmode, + OP_ALG_AS_INITFINAL, ICV_CHECK_DISABLE, DIR_ENC); + + MATHB(p, DPOVRD, AND, 0x7fffffff, MATH3, 4, IMMED2); + + /* if assoclen + cryptlen is ZERO, skip to ICV write */ + MATHB(p, SEQINSZ, SUB, ivlen, VSEQOUTSZ, 4, IMMED2); + pzeroassocjump2 = JUMP(p, zeroassocjump2, LOCAL_JUMP, ALL_TRUE, MATH_Z); + + SEQFIFOLOAD(p, IV1, ivlen, FLUSH1); + + /* if assoclen is ZERO, skip reading the assoc data */ + MATHB(p, ZERO, ADD, MATH3, VSEQINSZ, 4, 0); + pzeroassocjump1 = JUMP(p, zeroassocjump1, LOCAL_JUMP, ALL_TRUE, MATH_Z); + + MATHB(p, ZERO, ADD, MATH3, VSEQOUTSZ, 4, 0); + + /* skip assoc data */ + SEQFIFOSTORE(p, SKIP, 0, 0, VLF); + + /* cryptlen = seqinlen - assoclen */ + MATHB(p, SEQINSZ, SUB, MATH3, VSEQOUTSZ, 4, 0); + + /* if cryptlen is ZERO jump to zero-payload commands */ + pzeropayloadjump = JUMP(p, zeropayloadjump, LOCAL_JUMP, ALL_TRUE, + MATH_Z); + + /* read assoc data */ + SEQFIFOLOAD(p, AAD1, 0, CLASS1 | VLF | FLUSH1); + SET_LABEL(p, zeroassocjump1); + + MATHB(p, SEQINSZ, SUB, MATH0, VSEQINSZ, 4, 0); + + /* write encrypted data */ + SEQFIFOSTORE(p, MSG, 0, 0, VLF); + + /* read payload data */ + SEQFIFOLOAD(p, MSG1, 0, CLASS1 | VLF | LAST1); + + /* jump the zero-payload commands */ + JUMP(p, 4, LOCAL_JUMP, ALL_TRUE, 0); + + /* zero-payload commands */ + SET_LABEL(p, zeropayloadjump); + + /* read assoc data */ + SEQFIFOLOAD(p, AAD1, 0, CLASS1 | VLF | LAST1); + + JUMP(p, 2, LOCAL_JUMP, ALL_TRUE, 0); + + /* There is no input data */ + SET_LABEL(p, zeroassocjump2); + + SEQFIFOLOAD(p, IV1, ivlen, FLUSH1 | LAST1); + + /* write ICV */ + SEQSTORE(p, CONTEXT1, 0, icvsize, 0); + + PATCH_JUMP(p, pkeyjmp, keyjmp); + PATCH_JUMP(p, pzeroassocjump2, zeroassocjump2); + PATCH_JUMP(p, pzeroassocjump1, zeroassocjump1); + PATCH_JUMP(p, pzeropayloadjump, zeropayloadjump); + + return PROGRAM_FINALIZE(p); +} + +/** + * cnstr_shdsc_gcm_decap - AES-GCM decap as a shared descriptor + * @descbuf: pointer to descriptor-under-construction buffer + * @ps: if 36/40bit addressing is desired, this parameter must be true + * @swap: must be true when core endianness doesn't match SEC endianness + * @cipherdata: pointer to block cipher transform definitions + * Valid algorithm values - OP_ALG_ALGSEL_AES ANDed with + * OP_ALG_AAI_GCM. + * @icvsize: integrity check value (ICV) size (truncated or full) + * + * Return: size of descriptor written in words or negative number on error + */ +static inline int +cnstr_shdsc_gcm_decap(uint32_t *descbuf, bool ps, bool swap, + struct alginfo *cipherdata, + uint32_t ivlen, uint32_t icvsize) +{ + struct program prg; + struct program *p = &prg; + + LABEL(keyjmp); + LABEL(zeroassocjump1); + LABEL(zeropayloadjump); + REFERENCE(pkeyjmp); + REFERENCE(pzeroassocjump1); + REFERENCE(pzeropayloadjump); + + PROGRAM_CNTXT_INIT(p, descbuf, 0); + + if (swap) + PROGRAM_SET_BSWAP(p); + if (ps) + PROGRAM_SET_36BIT_ADDR(p); + + SHR_HDR(p, SHR_SERIAL, 1, SC); + + pkeyjmp = JUMP(p, keyjmp, LOCAL_JUMP, ALL_TRUE, SELF | SHRD); + /* Insert Key */ + KEY(p, KEY1, cipherdata->key_enc_flags, cipherdata->key, + cipherdata->keylen, INLINE_KEY(cipherdata)); + + SET_LABEL(p, keyjmp); + + /* class 1 operation */ + ALG_OPERATION(p, cipherdata->algtype, cipherdata->algmode, + OP_ALG_AS_INITFINAL, ICV_CHECK_ENABLE, DIR_DEC); + + MATHB(p, DPOVRD, AND, 0x7fffffff, MATH3, 4, IMMED2); + SEQFIFOLOAD(p, IV1, ivlen, FLUSH1); + + /* if assoclen is ZERO, skip reading the assoc data */ + MATHB(p, ZERO, ADD, MATH3, VSEQINSZ, 4, 0); + pzeroassocjump1 = JUMP(p, zeroassocjump1, LOCAL_JUMP, ALL_TRUE, MATH_Z); + + MATHB(p, ZERO, ADD, MATH3, VSEQOUTSZ, 4, 0); + + /* skip assoc data */ + SEQFIFOSTORE(p, SKIP, 0, 0, VLF); + + /* read assoc data */ + SEQFIFOLOAD(p, AAD1, 0, CLASS1 | VLF | FLUSH1); + + SET_LABEL(p, zeroassocjump1); + + /* cryptlen = seqoutlen - assoclen */ + MATHB(p, SEQOUTSZ, SUB, MATH0, VSEQINSZ, 4, 0); + + /* jump to zero-payload command if cryptlen is zero */ + pzeropayloadjump = JUMP(p, zeropayloadjump, LOCAL_JUMP, ALL_TRUE, + MATH_Z); + + MATHB(p, SEQOUTSZ, SUB, MATH0, VSEQOUTSZ, 4, 0); + + /* store encrypted data */ + SEQFIFOSTORE(p, MSG, 0, 0, VLF); + + /* read payload data */ + SEQFIFOLOAD(p, MSG1, 0, CLASS1 | VLF | FLUSH1); + + /* zero-payload command */ + SET_LABEL(p, zeropayloadjump); + + /* read ICV */ + SEQFIFOLOAD(p, ICV1, icvsize, CLASS1 | LAST1); + + PATCH_JUMP(p, pkeyjmp, keyjmp); + PATCH_JUMP(p, pzeroassocjump1, zeroassocjump1); + PATCH_JUMP(p, pzeropayloadjump, zeropayloadjump); + + return PROGRAM_FINALIZE(p); +} + +/** * cnstr_shdsc_crc - CRC32 Accelerator (IEEE 802 CRC32 protocol mode) * @descbuf: pointer to descriptor-under-construction buffer * @swap: must be true when core endianness doesn't match SEC endianness -- 2.9.3