From patchwork Fri Jun 30 07:43:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Akhil Goyal X-Patchwork-Id: 26057 X-Patchwork-Delegate: pablo.de.lara.guarch@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 16B9A7CB0; Fri, 30 Jun 2017 09:44:59 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0056.outbound.protection.outlook.com [104.47.38.56]) by dpdk.org (Postfix) with ESMTP id 8E7EA58D1 for ; Fri, 30 Jun 2017 09:44:50 +0200 (CEST) Received: from BN6PR03CA0038.namprd03.prod.outlook.com (10.175.124.24) by BY2PR0301MB0600.namprd03.prod.outlook.com (10.160.125.22) 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 07:44:45 +0000 Received: from BY2FFO11FD020.protection.gbl (2a01:111:f400:7c0c::131) by BN6PR03CA0038.outlook.office365.com (2603:10b6:404:10c::24) 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; Fri, 30 Jun 2017 07:44:44 +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 BY2FFO11FD020.mail.protection.outlook.com (10.1.14.137) 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 07:44:43 +0000 Received: from netperf2.ap.freescale.net ([10.232.133.164]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v5U7iWIW022821; Fri, 30 Jun 2017 00:44:40 -0700 From: To: CC: , , , Akhil Goyal Date: Fri, 30 Jun 2017 13:13:20 +0530 Message-ID: <20170630074322.30661-4-akhil.goyal@nxp.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170630074322.30661-1-akhil.goyal@nxp.com> References: <20170629204904.23684-1-akhil.goyal@nxp.com> <20170630074322.30661-1-akhil.goyal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131432822837367382; (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)(39450400003)(39380400002)(39850400002)(39400400002)(39410400002)(39840400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(53936002)(8936002)(48376002)(8656002)(2906002)(8676002)(85426001)(47776003)(104016004)(5003940100001)(50466002)(110136004)(38730400002)(356003)(86362001)(86152003)(36756003)(54906002)(2351001)(6666003)(2950100002)(33646002)(77096006)(4326008)(6916009)(105606002)(50226002)(1076002)(2876002)(189998001)(498600001)(76176999)(106466001)(50986999)(305945005)(81166006)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB0600; 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; BY2FFO11FD020; 1:rKmirxU9cbyRJ4baRnDkGojSAgKEK84smaLshiD3Ax?= hNi8HGucAQOQu9nUva5Vrbg38RAS3YEhmmzOwYmdoGwdmt++0W+PN76UpgCL7lWvq0dU8SRgQLMHaPYiDHy/5n8xgrur1miT5cbMGN5pbcCQgVEFJrK/5hRVBNEdcMFoMDc7l1pK+X3AIXi8ztnivFQnnXsFyrJxYpaohPC6TXlZ4E0ngLppHcOCQjDTonPgbQvCjVOxO2TZ1MSmP0a/l9C0At4YwhSCHh5OxZI4uN6JQRpLFTFoTKJgD58bqeTxZdZj3u00xC4tQI0pcImh1fOYu4WnZeOPpSjIW12k+OX2LZI1k3IOSfuIcNWubTmaQ8arPXuHGJsbI84cPia/AWhEUegi1BDvvkKHDcogm2M2aPEmqpunceiR3ATxQEXk5jATcmYy56VvHLzgYSCzKCKFXooxtKETtkyX4jRt6b/8JJOnlU84Zhs4aIf53TeDu4xmmJTGifXItlaGSI1xIX4W56e+Lr7cfV+aBNwXDm3j36S70t575TN+LblqUH2fQ6Uh2s1amtm/WaVgnR4eMktNC9Vpg8obN428UZE4ajmEssS7gNTUvN2aIRTpW6GZqKa2aCyHvaCy7FH8ly90x56gSYakq1OjLmx8y/2zWhfzw5e/5QPXq0CfwlBZqMAYvZddvGEt++oCdeP5POHxy6XKzWVsczTbGYRVvtnD8yOvdddHwT5KZk4OsSvhP05bsKcuKazQUY4e3/yFpyzr2XJNNo/mH4III83wuKbHI6wuSN9eg6Xp1URjyKgUaj3dgZWwP7/mljFr0obADGItDA4MPDXeyyGvi1W5F2mxy1FufSfD4JXOzat9LNayKJ4Sw+AdT6KDOn7+1AtuCt4mjcTwX6PXltx+5HjSAcN63zVFX/cNNYBcdDuo6/GDUaqDkMwydXHLucOIO0DtiTCHbAlSDZKB5LizWFtJeQjLu0EahLKq3lHMHG2PmO6r2veK9QaNoTFLqU5l07WyR32YDBAGgqM7WbBerwN0m35opNapqH9Bbr1Tm75u8QoyVR8ok0p8BaD41gizo5h2HGvFnU3ZRpCE3LNn5ixKY16b/olA== MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 236deebd-f24f-491d-474e-08d4bf8bdf70 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:BY2PR0301MB0600; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0600; 3:4hbx8M8QywCrBtoVugfJ3CRLP2W+nFlUx+SHNNhZmRT3uTmS5v1Bj/JzDvEzhVomD4Cn2xn9e3mnU/iK771CJXXT76Z0UxSnpgPpMPO7VkJU2ccm0C/uzQsKe0aKW26b6jrY4VlXJFPDUtl7QgTW7K0fKQvg8Sc5Fxu6OF7C2kn4BqFbFouQxtQv9DEbum4QwD7eQA6ZMM84IX+fJUTukHuRlB4O47+dXkmgNdli8lNDIMTgvfE5+g0vvWiB5dyaRIU0yQ783dIyPLMeBA+JBWkjPnm0p4fsNzN1oBXTsbs7UH3zoDV4gWHfthzEtzzm4cCqaOq+l0koG7HfcJ6VXZLvZTb5fw/NtDsaSmFAT5+EW8fsT7jqUnSSqIrQXE7XuVBUztmx2LAmQU3Vc+LpjrSJtozFq6hW/BKHH+coNUOseg92PLa5R4OAz4TAPCJH8FZwzMiPLHiE0IH1QJ2MPU2YQEfvNSvHt3OaNM4H9iHCxXXcYN6dMwpWPGlMWOvewqP3tQuvnH6QgB834j5jnOMl1sXqhxxXG1xKEeMJ7x2W/AnmLEnhAXWuQiCyuGtsuqbK5fvKIZFIWTXA7TfiRYmV2JiVLIzutX512SYB2bEG4sfcTjmXVsr8DkKXkjYLtw92q2BuEp8jcDFF+WjmDl9WZFdvzF06wtrDFF4tGZ6zQ6kvn8EzpT/NdSKi8lsYpolE+zktSahqfr6/vLuHwZ0H3dyDuNf8kBcI2CkXu+2t4eXRBkYMS1lYrq114z9hlBRnwvq525JJ6lSU9NV1COIKwzZGQtQoWM13qW8a/B1i4kfQ4FIfoisRa4WPaG+v1qpu0buoE68MdQAJitJBMIquWFaPZT/oRnwX7fsSJv2Zu6DieaRWVDbgx5WXvFCY X-MS-TrafficTypeDiagnostic: BY2PR0301MB0600: X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0600; 25:1BPA9jIindyHOAaXbm96IYQM+dHmTIS4h5JOtBwS7t/p2Mzh9LEwY9zInPLWpKDtBLg5KqO1gd/DGjbUUEq9PDzOmjDeV/59UVA/n2/rmrdmta4FCNzdeBjng0DJTurZPNpb5g6e0teUl4Wwc2ZMfurm9WLtS3Q8zrG7dOUMltqOfhiS57t37Zg2R9oiJ73zsI5ZaiE4GMzwsBfIoHxxDctgoQpvrHCxlYVmqfVeXZ+DmOKd3m/xWmJY2tOqDlJMK42XFmHaAnpJnaX5SDWf10YnPxG4dHgtAP/dUjAtTRsNnpfWDvQg6898SQCrrTYRCbE7rzKG3Br7pq03niDcIVhjtMgNKnx9UrzRh9ng/w7LEwjQNvYpomlK6ymx/8cmoCJlKsOR/3Vgixma/U4mchGkgookc9a5LiW/bCFXfWvmY5iYMrbbClGByZEPxVrhbCvq0bJcNfR3ZIv9YgMON3PMIkI5jP11Bo27YiQ2XeThkNMWBI7Wy5csdYwQRu6GD4fO/9jdLgninQ8EchVT4V8H65nI96+UJzxavhEek75BozXtrRWKozGIBnBA0RZNOBlcJk5ytoGMZxr7AqbazLbpC4ub5MJpArUzorbsH5+n3sOhDE9YhWVQ7TqWp4pXrS/mA4/U7QKMIUAa9Q9t18gBC4uIngL6zqoNvHkJVg+ccFZqVs26FvTV8xF46yk7alO8S6OTw6iplvFg2fyMJajExYBdHn6aSUIMNQVomtepXGeWzJEX9vUKWuORDkCVukwFmvYUxzzZyrrfkFFV2qgwodTKLGLiDS/AGPtK6K24MI4QDQzlsuXn4ruSo0AXLa0F3G2PgiIPUZ43fig4cO3Cop4ccvyY80QmzVhAHNF34bPI8REcChTfY1VfbU6+AFAcATgkjC243AnN0DIOLZhH+FZCZeGFdHvrfoeqb3U= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0600; 31:Q2t+NBZ8OA6o1V6U4eb6VA5Upt3Prst0VxvLPWRq7z6BRK4CB4nMK5CRfB+Ayt/cp8Ec/qCf66nxzqBLr4tnJasWaEWaNBVOKQjIBayxu/Xd8g239bfJ7YtCxlAV+2w0YYnK60dvN+sq3ty5Bh8wHJOBpOFImxGWdMGT0I57tI//z36p7HzBpJpJmjb28vkb6jAPremY9Opjw43kp2up1WNbTG+8uOLNfhWACEcpjk+Fk4JuqA7GtgwufTUP8aW0lKNW2WLjJwb3fj16BhxbgpFdbSIRlhx0go8PbqUVVvOLQOXcTtaUaXCfe0p6BHMK+aB8BXWcXQf3wfjYyCkWUVyHiYjy3gsFBqlqP5gP+4nFTvBXFw5kp6Nqw67eCG5C2TcGYjQTjL+QdUw7Vq5c+XBXODaBSlV49tPbV0xq4rGBH02hFkNCXpVGwS33O/HsPvs7bYE5XlD32sP7d+2sBxjRA7ZbZYkWMFpLtalvc+Ns2qWW/NX0lmUfRKwtKKd5+gHMYbRays1ypXkmhCj3OfLJu3MQKuAvm6CeDXOrs087oCXjEFFjMkH6kHUQ65hupVw551uECLtNF8+RGD41Iaq13lXP62JlUU3vqcBGiJYaqBeuIpSiDSLsCBFcQUfuP1XySjwi5eAmisOoqZciNYpu1d59aGox0kKDZlkYsjATyotkhm1qWV2mBdCKcjsiFvF+CZna9N+GZULI5wpUNg== 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)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6055026)(6096035)(20161123565025)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123561025)(20161123559100)(20161123556025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR0301MB0600; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR0301MB0600; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0600; 4:SiXB1K7lEJy6Ssyr5PTozP2xidIQFTePhhWcgmYm?= /V5JUqaoYZ5baAsZjBlasCWQbEIQrit6jAT/B/ATAC6pcQVjw2Av+ljLIzEXALvPdsAyc4l+ocNGH3bdvH4BE7DyA4tCZMzrQd+XzGAkFiKqpiHMm08BSLu9EXEU4y/5AMedsU3L3tdCm756KufKtNyqIc05jhOxKb36WsOpDwVOJWAWYoIVr+LEzNzvKbZzDOvGgZcALCZNyWYLemYgM5JhT6vXfx5HZBz6o15h4c6DntGyD3K5tJVeftqKLpBIAsyxK77snEnL8ISDfXl0nJJwlHxHuT52sWbFMJmNGunR85hbpAvU4WDdc/fAznaX+uPlB4o6JZHXTLCB/eTzdGC08H7o5+xX2MTwfWtLo/8CWriMLzLASCM6ciI9w0gr1q5yGuiKdNWYBmQiw2rBWLv2d7OBQ5UvDXJbnUfhHAiafcdGat8+QFdRcUo0Pwy/piGnfJMUx/2hfjQNo+dvNB347377UGwfGWXVIhsbM09YGSS1apJxA9/W/uUcseZvhw/kVn2+TtR+Y7p/ze7kND85HGfFhbHy2GrLVq1h9HmmGeYanXaIwsAVAan7U6sP0cG/vXan/isFDzFg14AwNIwzRsKlUx68GJpErqBOS9HewLo4IN4hCEFB3fhZEN2dfIPLWYgSsyCqcAzgcb7bKttkgT3tHbtHG/nRY+SCDdoTz97hccUA35l6pQ7JZEALHG5L4/1Eu0X/8iczJw/d0ufYLMQklyF8bBaBkpg1amoOg5iLZWslF/1bsm5x5JQW4eYwO0HpPBr6PhFRjD58XiiOmE/lztKLyOBEdcNnDaPiF3g+vz5Hb+ux+m7bARUasBVf6oMI7KVl0fbIyZlBrxZNDDx+gumSSTzZjjyzVx0sgXkgDRYtIGpzq7f7+Zjs33h7TqZ62kNq1jO0VjiHfHq49uildtY6w5J6QSZ593zTp6LygZTB0ZIYhiqh/ANSy/m1SggDJvK754LkwHAzlvalWdcZZXwf+pifS+lCp+Gk1cfLljCnjXt538Z5eABgVZzIQR5RuLTltavKoFF4TWPjhqCQ96EmQkvXLJVJfsTobHxhc9gUS4jIJBDStj3dD17yWtPeGQ42rfS6a5jec2hB9LxMWMEBqnanVrsTcZEOFX6t4Ztn2jQgV1H0fsJQiRklc3/R6oPRfZnwHvBj5KLP9M2a90HVNphKkwNNu+71kw/KAdPSDQZnL21dNpX1fZ0iaZ/wTsh2gqrb/Ni3a/nsBrTP0qienY6ECAI37mORzhpvGVC6mCd0G+x7Jojny4306TWzXfDJiwMUjEQ/JC69 X-Forefront-PRVS: 0354B4BED2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0600; 23:a38DgTETuXpf40QCj28mtUNAXxsJZxPcfdNdxCv?= G6YUD1oERVufqrKfgPTSYoY6ez0VG++eAzXImM584IGh/ymaxsI8Qvv76gPCqOdq9Lull4UUIGuh+dKogelmnZGf1QnLm39pt6DDS76f7nZce5TUcoS/JcQu/vZ4UZ0jAHAV2oR+lNMTtXNq3YQEUKQfKevWgI3irOCZdU3SzAVHIAFNPcwWWlao9R9dCGaYZGXfHxWdXK583ae0kUwb/8m5IoZjB42ZqjF/ACu/fx6YFWdRsarJKtSXB57khqpz6kdVFMijClMdaN/Kiq4SwVBTkoVgv9cCB7Mv61Iqr3xF8WE1UrG7It0tZDzuJGO+4ADbgUyWF0z8cXxU9BSwNwbexUrBvbnolnGGDqQXLxxqsurmigVK8j0hs+weNIgNZ6E0/hrJwlGhKddPyPTYpNOZJeceobjNykZKu7boifZjBZmCAUAF6GUBe16DnoLfFCNYoQQxFrj0FF9A6qyPl9PzV5brXN6S/spGUwyeGctBmPL6pvBNByVBusr7kbyEk8HPnCphkHX/rlzOUpoHEjQBavYFyAm0OY1E2Md+fMziUnNBu9KIvkPhjbHCj9t8woWn2nQwl4f+vLC2UG73u4fztd1PdNllzto3wtwQMXJqns/5/BO/7gdfsL0LCnPNXseC1aDvF7i2bDi8NNgub65AVCkP4CP2OA72bpY8TeMu6nxGpTXm8198xPmU4gbrj5I1m2k1g311WTNtygGZ1dNxoXUIDFGD5NeX7hYAxCnL15XDglJVbnrv5v933fSOMjBoakG81saW5qsa3Ijl1aQpaUW7Rmu/4eo43Yhxe2WKLR/ywV+P8/IGp/BZEL8oX9svoZO8VpgF4eJHDbPO4ZJVUjAQtenkLQZPvNmtturta6jgPggQoCs5pKDl2m2yz9qzDzcVb5TLat4J1Ww3KzV03FbrQNcNtMoCbXWivYT7riCN/nmRV+TcPWv8qKcaZ6cSV/kXdDq5ZCUiKp6DuPmwWsYYQ7ez38lUoyir3S4NmrDPyVdiihRz5FWe12je+ZQ9GZdG56zcwg2c9aIWr5imW+bx+td+mFyHDocGD7npsIpUiWJT4H0LYXof0nnuSy+uR3nL7EeKRRcYFQn32hLK9wk7nAVYhkg/9zhoYw8OfzP91sghAAoCPuuQiYEUBn7G2Mm0ebp+rWIgIPd9nOUtJ1t368/JdErnP9HtcEDpWUtxa8zvA0xRWn+plOlLzMwBT/zrJFBggIw+Oc/CmPuCEsh75fqCKx9IoCZMwihJVBQ== X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB0600; 6:uJ7qjGc9PPZQfu9jGhrSaJ/PQtWmyM7I6Zrqi91P?= FnXSb4hlP5iUJ9fgUu1FtxxwWbNHbzTKzz/sASocA3jHerxB2nEPfRK6/v/a/zkkG48oWoEdzNNKUPRaZplmYjrC6zv5X7cLawrMzVtuhkbIM6thE5MjdXqMjSiQFZNvj8+MKYQ7ZZg9iPZeOLsTUgKq8ENCvQx/lwfn7LK3TLd63F/8s1U0RNgskXKRb8MVjH+9sIfiPimcSbhlrCUhbknBS0ZcxBmiBWKE49bQDGvtd1i7AbZpZC5iMbnbEml3JuVPRc/Jq2aNDQJ22foPY9dVQVY+tXvxv37RO0ZDZCSIWXGHNH3XQSDsquUFLmWag/RWRzCatd4E6afMx0KOw5ehGQhmiB6W+ULV7+CNGhk9tmytJbbdgI4x8xm8aEt9GSSrc8DASbMzAKgHJBd4WUi+Pcyypc3qxa5INyMNd9ARPF2E9V1lM+HH3rQ1BtcgZHN77mI42+D7ASGdXPdYh7cPhk/S8mq1Jnd3NgglzmhTnAbQa3EorSktIBxmRRJi8E1rVWDC9dcYQyECXwtU+XM9+IiB1Fc77vjm+CxLekS5SBVZ/xVmDDmDM5msIc2vwm8AGZNJIEdig7QEmrjahzLY4oh547ySnIkjUVCsVpK/Pb2Icz+24babnjbZ1eP3fFHGQi8gzBsb9673uTwmRPUyYo24XjAngP+dAqchSHRjuzKXBC2/QSNscv2hjP3mT7OBu7g8y521TvzMMak/MJLXg8++CfnMyv3JIBpCdGaiwa6+CvkHlPH3Wkhrc6s/iaCnLEdVb3edUGtO+JU9dV+m38tUiXpkUrTufODnAi/6LiXlyL6PPLZCpFnMYAAVJSNaBNrhfMTiIh1L3oK302ldbLUVgJgNC6YYucsW1qKCvuAPG4EEa1Kpc/9caDRdejWqHNv2XLsNczrh7iFxaIzuU1I8ymkf6BRoPKjqk4wZSw== X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0600; 5:aFQaN9oLyN/fexBLOh1D21znFzfcJ3ufOq9vI1Tuw0SuWc+SW7kpFGdkeqcpe6sZp0GRNWJsd2JzAkYQW+NxzfzJ2gs3ltWdzRtO06tj+4c+KGX6MsC/IHCBQFoVQwgRbjrPkDFUjpm1dUBLP0OK9+Yhdn8PP06kqonwjae7aQ0lMkByFssrKmSYvpbeko1Xt1R6ouvaEl7PuH1nQ5JssuVb6EAnIul2u5XgQmN+jbvLNVLbbxf+yJkeo9w22apvU7USpUbLrbM7luejnJsqX4pgAvWBDcJJJ9mkuZW5ukv0bWBF+q65cbKobbyeQpCHXZIGI4JgcY1Dn8d/S1jUHVjqlowuNdkf+JpSb0DIvWerALqZB8HAQN53iLs18ASHMTmuKs3i63WVVYZ+HD0Q1upVI8FI9bV8Zi2qbshIq+DlFjMhCOvyIpZs3ydNlckV4YmkO7Hqc0HrPP0l4FvoxDSkEsfH6CmdFZS1TJvh4se+hrnAMCfC15LV6Voegbrz6nLCXZupu51dcc8TWcwkEg==; 24:HtMphX4vpyubHDZSMDMHui98flQrahqgPq6lu+GZdqhOcD8bSf6RXQWUosGlyjfeU7XxPT5mn82iyHihXTvbv99TtGyhLPynTlSsGpc9H6k= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB0600; 7:jT3OaGGdDKcqQl+fmh9vWbWluzmLqctmvApivSHs/D1BeyALteqgRZ4VMZ53Wy1tRtW7Q1yEHMrmC/69/iw9MBvz8zFtk6iTF0/F9fOpKWP6gqgzxIfJFqbEirFC8/HjUAOrgdGNp/2e5EFLmYqgxfx+2xjO9xU+9s2ORqkZu1kFVWiiKQb92B3OjszFEyrMZXy6kQtFLygR4z23UQbnQppCYcceyBK8mSOFnBhyuwxN2PVbXm/joJ2GpjFIanb2p1fM+e9ufo3B+iYmQHbZL7kosAqn/LHujHDbt7AdMRNoIrXzPI+o4bGYHmZ0hhVujuCFw/Ag/O/8cfGOHBFpA44bSoJaAdXbE8F3XlSHvICzBZHqvK7vtibvKomWwFqHvnVf++bIhLsi0QRHI279/cyhnGw8HsFChttPHdFYFfc/Y/afEDev5PIV6QqOzndDuqMTPtaXdsmanAnA7hA4FOHRWE6X7k3IlLpdTAnV2vqvS6LSB02FjVDz/QcrPQGYW2XQttYgL263ABwl2fkBIfRuKJNp2qcATPPHJAlIPnKMCbkpupVlc7POl9fxbsYKjBJz8SkgRwyYL+PrVCtwUIxcAALXKy8pGsm7fE+pbnYQ1Fvy/6ZO2jiE/j3vbaHmDtLJYYHcVrR7bjPzSMMFmQQIYmUg9YZfDUFr64HDR1wMax3DO1x7wChiS1hOE1hhuSvDiQkHYf1eIPfMlMuQcbLADg1igJ85HwQVGX7udhrAzvnxC5iP4dcdC2j2HO5nIHi11N6Y8fPEg9cpR73H4HrOEFf3NvZKk3Ksuq/2p5Y= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2017 07:44:43.4247 (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: BY2PR0301MB0600 Subject: [dpdk-dev] [PATCH v2 3/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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Akhil Goyal 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