From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0060.outbound.protection.outlook.com [104.47.32.60]) by dpdk.org (Postfix) with ESMTP id EDE25913B for ; Tue, 4 Jul 2017 16:36:40 +0200 (CEST) Received: from BN6PR03CA0011.namprd03.prod.outlook.com (10.168.230.149) by BY2PR03MB476.namprd03.prod.outlook.com (10.141.141.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Tue, 4 Jul 2017 14:36:39 +0000 Received: from BL2FFO11OLC012.protection.gbl (2a01:111:f400:7c09::145) by BN6PR03CA0011.outlook.office365.com (2603:10b6:404:23::21) 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; Tue, 4 Jul 2017 14:36:38 +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 BL2FFO11OLC012.mail.protection.outlook.com (10.173.160.159) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1199.9 via Frontend Transport; Tue, 4 Jul 2017 14:36:38 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.39]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v64EZM7I016426; Tue, 4 Jul 2017 07:36:35 -0700 From: Shreyansh Jain To: CC: , Date: Tue, 4 Jul 2017 20:14:25 +0530 Message-ID: <1499179471-19145-35-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1499179471-19145-1-git-send-email-shreyansh.jain@nxp.com> References: <1497591668-3320-1-git-send-email-shreyansh.jain@nxp.com> <1499179471-19145-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131436525992111965; (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)(39450400003)(39410400002)(39850400002)(39860400002)(39380400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(2351001)(110136004)(77096006)(8656002)(53936002)(50466002)(54906002)(47776003)(38730400002)(50986999)(48376002)(76176999)(105606002)(6666003)(2906002)(305945005)(68736007)(106466001)(69596002)(36756003)(33646002)(498600001)(626005)(356003)(5660300001)(8936002)(86362001)(50226002)(104016004)(85426001)(5003940100001)(8676002)(81166006)(4326008)(6916009)(2950100002)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR03MB476; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BL2FFO11OLC012; 1:R54ht74vSTelJk2sNaJEd82mUav9x8DQFnUQucLYL?= =?us-ascii?Q?dlT7SJOci4KOlt2AXoVMHTMf+knWLRhUMQzsJ8YsOI79yaDmcFinvbh9X+w3?= =?us-ascii?Q?1ZbkRkByX1hQMKEkayP8HWY+R7e8uJV+AxTqxd9uGFkW3aa5WqdFJGM+6JEk?= =?us-ascii?Q?S+BvNlH74pyI1mNo3TrwCr0S7HxtKDlS5E2H7McAbV2+NaM2CNxb7nHberq5?= =?us-ascii?Q?vTwBOD90iBJrO1WXrpbP7Niw8JFbTlTRgChVYMk5VqJthPa1VMRdIsnN48g/?= =?us-ascii?Q?E+sRw8dk8d7lKcPurFpvcEs9qFvHdR7AEZgkHsCdC+Hdigun1tjwCyp09KTZ?= =?us-ascii?Q?o0Rlc2RDIByM65eZw/W5lRFuTa1HsOnEnWEcgaHG7xkeZcd+1K/B8DVbvqkQ?= =?us-ascii?Q?WpnKTtEHzg/uPYIZQ9lAnMXsgbeqv8VSY77cG2q7FzJupAMDItEor/E2m7Nf?= =?us-ascii?Q?/EVdBMYlwe6fYi8o1SdJNunfPl+LttcZNyC9VtTYrLMw02ej5twK/ycGhJ+E?= =?us-ascii?Q?7GHf+b2CTMmP5sQKuaVtW5BpmSQboRzJRdGHKO8J2Jos697ZLfBiav63+pn4?= =?us-ascii?Q?PdzFUUXvb5DuIe2fjYQz3xceWq/zWF9eLV/XJNyelHExrJK/D7OL7H4AhwWz?= =?us-ascii?Q?5BiZF71Hqqw4nL1G2HI5QKwQyv+zOP+nkmJsIEABg9TmK8eVZNIfnZgZMSr1?= =?us-ascii?Q?gwSe0S8mdT+i3W7udOBjfX4zaWTvOBB9ikLGLTQc67CBb2TqRguK339DK700?= =?us-ascii?Q?SAECPSawnNdDzQVfDrMs93Kw2qTEpiL0XzNgJJxhSUnES8xc26V2yqMDTa+F?= =?us-ascii?Q?gcCrUgpADvcPZaxvk3DIH1j2HQrrC2uCm5pgoFIdJK8cob4aH755o428qT2S?= =?us-ascii?Q?YVWSQPjhJcQROwzkXz5W0Z6qTBugZKfYyMVR0sU/k90JEfYP6VMsySUAbqKe?= =?us-ascii?Q?MILbl/ACWgWKbvqY0kPjgjNoj5ZtCtCEzF/Mp9ECOb/oU8fRx/uB0E4WiRdx?= =?us-ascii?Q?XDev/EcJyj+6/7Va0coPfZZ6Uf+R6Gi6CAYlcj5dKvcb4T6xufgCRFasRGfb?= =?us-ascii?Q?YyE1ltTfj1h9+tSvWz5U0LI5KlSw3yiEB19DOhLlGP1dExJiQ=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 11230e53-ec53-4ac2-6475-08d4c2ea14a9 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:BY2PR03MB476; X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB476; 3:Jjm954LOpRnU/Kzumb2jkT+Ae9N7Cx29/sDs+npygF70uooGGWIhCqlLvahkuE3rovQ+qd4HVDfXElkSYkT8UFguC/MCMjpMHgoGFu+DnMMgyxd2jt61CZXx5/OFyMJVSjppxPVbBMONNxp3BFENiDiuHxZyqOqE+uXsbXn97WB2nyiQ9pTOilwZAq1HYapPCojr64VRbRnMkoUylm9DO/QoDiC1EpaUZjAHpRMLdEwDReemBPue5uCJZDakncpIGQX+zq66sS40H23HUDtTD4OPzwbrZdCGRnuCbqnt3SND79RfzH8GBALKUse4MFAwNLQJ2xvnJ86n19IuXemGSBl92XuWLMUpGXtrv3iJxlj1DX9oNcz66iCehg8C+/0exEq7NcnKolx4QT5uW8f27Br0Xqv94/7Z5+qutLt2ixCch4bp9ufdiijHEjNu1gNdaEhKOOxK1vPAl8Bnn8yYlGnEGgbvRR2gRAZBKl1HmrvyCYV5igTEsqPTp36tq6rdiah++MC1ahaHx8C/Grzf2Un47F16QpFnqALOpMLYLTYdwUwRnAjRQwBkbz01HnJdO3g7pY0cFW0y7+EMOLWHEezzShfzAyanEYOU3K2kRHa+wV+IVs2s75Yt1eqFi7Y4qdsSQauVa5sWCi+dH0hYx9c06LHqV/GgLY9Ix0WO+E826v2dRKuRR03DTwpNC7GFuiQeK2eu4qGTMFo51xX3A3iiALutgV8hGoDLRME0hP+QpSd9ywErW7SRJEQ0u8H8LlLlSPciJTMbb9bFNgqZY+bEFNH8JZrFMMT+G3REtiUi/Eh7XhymPd/PeGCQQuv8RuBrj+HcLB2sSgC000SLl3cQG8GLUZNT+f0FQRGJqAVePdOZgftqhtRZ0J0N1ujb X-MS-TrafficTypeDiagnostic: BY2PR03MB476: X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB476; 25:ZL25tB2GbRUMJQFQEGOw0oDx8uMDQbyOYO2nMf64QCkyMjvM/8rc39XPwvzwSFq8oiCNKRBGcvvYfuWPXWX/DsQKLTE/Mcp+aTJZM3wSK64BKICIB2onCnfOcupKK0OI0IqRquicVKANXFy2/rUovHdUiawB8QzA9PXYm8PISu+JKPffubydmEl2AFH6Y3xhF2XxZ6bc9AY2J8ea4n/HDtn6v9zn9WK3FtAeoVWkRHswF4bhvwDBjLCjarb4W+As5JJCqGcCqDgjqzmv1rQ6sl4mTPbIT+DtWkDUTq/RtB6sOMO7wY+ZiuJDRbgUES3FyKW7jwB83tPDkIaDzA5uvQq5swiw9b8jDIHMh3ixK9qNN2rjgF5uAfzB/ly/k5JECdbGI5VaA/KyTI80Q9pP9Gif4x5ptgBqtx2hVeD/BAEKW8ZItudoSlJHPFaczPNo0qDEhN/Scuubl2HRyrPGVgQyCkNi1WnEJFcHk+ktxdI0GiowX+L7O10k6cDAygjGtdwMOpzoUvJ17a90fvjFSn1iNQkoSiJTvHPmMdKS6D8MwxK1/vQehLpHO6ZSxngtmfGoG1QBak0sjBxz+OPj3VhICcoXFTgx7N7w/Q0LkYrkdFoxY9CPfjf/+6T4U9ye/JegT2n9f5NU3T5bRwj5EIZDh4y9TMdfewB/ZFUIn8ryw0qo6j0C+oHvm+L4RAy6S+Flwj96nfCQVrLARHYBtypFkybsVm2DUmdIatwKYp8tM1IumPvEwkfxMe0jq02rrTSpOcws+cAl8VkffSPgGzRlkrwDEhDEATXX8ZoSXl5Fb97yduCYooXjGylZBJ7ugHA5HASdj0HoA6sOczT6kjAG8ZP7zWMrn0HSoepxlz0sAslcM6JrZbHQ0Xz9jpQGPbYMJKh+e0WKU8PLcHzRRqS870LFnDSnaid3XkPHE2E= X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB476; 31:9A+SbDu3YAsN3EX+oHCmPSjrdtlLXg9sZigT7j4hzou7QKBykTzhJ/WAjdqVZP9EYr164bG5/1DOyksUrvfoAaj1k9MEmm27Y0tEkEVhFb317my9iopVFg460MZiuj0c3eil/e4CDXX+HIQfYzzCqN0iY3cAog5kqqI2TbyNlB3DaEApVSxDef29iDV8yoAEfP82JWHKqDoHmqpRV6mzhb6aGTO7gr3uFJ5qgxl2jCV8j2Q2s5jkIrz1/kM4tRNuBof21jEOAMJ3JcCz8x2nLe2Pf+0aySQkJ2UqYiwhbS76lsmTxNcVxQYidL66xSQdiFvBhzNfub9+dLg8bGgK08AvvORIPDUe+DZoIeFkeB9uZxcsyOmlDWm15Uo4QgrKAsqbhXp2ezRi6wN1Opz1NtbmHIc6xWNWpxNbJDs8sRcB1e2q4nYe+V/sx4HigGmACTk3RUeFF7A4Ndf+gNP+/An7euTi0/lzw58OjujbU6WXYzubRVxLBjhSuf4MQpE2gJKKAhSl6GP2ohZrKla7IxZBOKmb+Va/AWKP6ujlnnsJuL5dLUW0DKwyAtDt3RfI7WTrWvqEprHTIEuKRKQXHrrDFfrTM/HjOqbTMbVTNyOaLK5HPQ2/JyrQPo0FSRbFjdzbuVFlqnX7bh1JAWdCl9B2s9LIbuJc6YwlSif3Dw4Etxq3F/+dYmDDqFZdQcFUx9rRIYFdtp8gm3qQSVeWFA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(185117386973197)(167848164394848); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(8121501046)(13016025)(5005006)(93006095)(93001095)(10201501046)(100000703101)(100105400095)(3002001)(6055026)(6096035)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123563025)(20161123559100)(20161123561025)(20161123565025)(20161123556025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR03MB476; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR03MB476; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR03MB476; 4:Tjp4a7i+E1b9s7ddcbv6wWZHH7AJxY8yInByuoZKIbv?= =?us-ascii?Q?k2uwGTlS5SoesV74gmYPByf3n+74D5PpjJGoAxeZu0lRB6IOuWmR1Pcy4GGK?= =?us-ascii?Q?0R7dy1HXsTKws27ztNTBcisKbaCVHPQEPaz4UCiUpnSMHfi8Qaz7eWmGLAJm?= =?us-ascii?Q?NJXcZT14R/L0NEaXSinfl5xQbarjZsSWsVe/S50NB5/BbtCq6+FXLY/VqQlP?= =?us-ascii?Q?CnJ913aTjxcJ7sTUuu/z6EhqvoEovDWM1wZyMvyTbK91S0HCOcxWUTYHT/9A?= =?us-ascii?Q?W8heD6MIO5heGTTmHb4eRK5K2WszVNiH1dYs2zI3hUpGfhf1VEmOnE/mpoBP?= =?us-ascii?Q?ly87CPLn1NxQF5n42veyfF2VM986QqS0rZIL7EDKGBo2XxwVDUmdoHZWaP86?= =?us-ascii?Q?RwgHKqZiTP+iSZYIbYuUTc+szPTzg4erQPg3T9U1aFhqJ1BTsNL0pqRbVJTG?= =?us-ascii?Q?5djoQTKi6EJXDNOwAQDiz1hecfj4FMWS8/sK3+Tr/2OmiIYyECmhGegSBal8?= =?us-ascii?Q?MlrTSV/c/Fd7knizi0CmC8LM6j+zY9nNzFNJLxCpkXgsHzA1Qq2vHn4LSC8+?= =?us-ascii?Q?vzO+v8sCqJaEqTgOyby5IGtTP0NT7f4mspA9G8llgdhIeGipdAO6rcAXliun?= =?us-ascii?Q?uA9HuKOt20EWQUHC1CG+GdDALsQmrRzW3DBDGAYoHU2OuK71kaLgYOdBSMPf?= =?us-ascii?Q?5whVrPjIkoMgTRHEBzMRwwbkpDC+FUT8DNyfpzmkdRGCc6Q8+i60tQOcWxOD?= =?us-ascii?Q?ejRHeEMFW8YigR7ruHfykaYqwFeb5SQ5SOBkBJox4VEYBXjpj8+9zznw95UZ?= =?us-ascii?Q?z7NrL7Jk+C/n83AbKNp7dfBQCIdqi5faWr3Lav2nayEVjDrTHqBEM22pSDS6?= =?us-ascii?Q?Y2CQXHqviT89yrDlSSCPvOrv3svxHKpgKRMYHcadht6X6U96SAGu2pyweEgR?= =?us-ascii?Q?i5dTGNPNoKYgDONiWCi2aJyTJJMHOlqG540RcOctauogNo50r9ViP3oSOm6e?= =?us-ascii?Q?mo1LMyEDgI372Sc0R+O9n6bKV1FCWHzP97rPI89qg1MHd21DbF08Y6tRv3K+?= =?us-ascii?Q?Ue1ZVV2RTJYjIHpIsVE3pfzzOtmYjl9hjzvWZuCIkgObti/FpaaYqLq0sI8h?= =?us-ascii?Q?U+Q4YCuidEhHufoza2I4PRDFt4SSKXPG9RUnXAqdwwEdabOkxmLSo0CVb3jU?= =?us-ascii?Q?liXzZRypl9nzUu5Uc3zcLtTgHxPD34wGSxNqdQDSConRXmDJMklfuRdxlxyG?= =?us-ascii?Q?8348sr3LjcamUdFXBOygCVhk6FbNF7EflT+GZ4qKgR6CDi8Yq0E2tyD+hITr?= =?us-ascii?Q?Ua2r7dK9g501H2fGbvkYwUVO+8dVfj07p7M8b5jF8cx3mULcE5Tf+teF8Nr4?= =?us-ascii?Q?e4q7vsjBaLhv05a1rdRcj2Go=3D?= X-Forefront-PRVS: 0358535363 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR03MB476; 23:pPDLsgUeQP5nG1NSf5t+2uVQ6yNCZeWyubyx8h/wVg?= =?us-ascii?Q?RNUU36l05MvFusNeVdifN8Dh3z7Ssz2oh12gzbhRNcg3ixzQfDPGi25ovYnx?= =?us-ascii?Q?FPqQm0eD93K1+qv/g//O4N4Aa1SK1dvOgrf9tKjCBgKCtTb5xRIvDPf7X/ez?= =?us-ascii?Q?k95WuuJ1E6GnQgS1coILxRL0MZvSn6z89cJdh7u/tIfaErrKg6UykF9/ohti?= =?us-ascii?Q?g+KED5b1eZpPqjMIeEjFqmla52qWWfTJP9Ag9racRGmWyadNlJLfO0tA9qRn?= =?us-ascii?Q?xIrzLZwB4OiZdsWJlgSqfE+L/rrNXYmYxPI54lXWJMsc+TiKKQY0/EEyqiPC?= =?us-ascii?Q?xPU35wsapCADUDkc83v22SvHHD1Q/XC9R+u+o85AcMu9msq1Qu8mV8YBx13F?= =?us-ascii?Q?i3ktDLLoEvlcUq2yS+dHsXwoOUKda/gwEsSb37pqkxGUVpMlOWuv2ddTMb3X?= =?us-ascii?Q?xkjGOZEqyGoORSLVDn6sWu49+MiS46mj4t8/tbnkt2llxQ7xCsLa43W/PlwA?= =?us-ascii?Q?LwA2BTfy9jJfUYLAMtxKSacdeG7S3s3mwhS4IOxKnMemkGmyAik/ZObLBPun?= =?us-ascii?Q?jUoXWgxljqtnm0bUm2k5k2RCGkgFbuI8khUVwhHMT/XbCED3UHlVcb0cuAL6?= =?us-ascii?Q?NLFpMhnbNfzXNLS+FqoBZoKwqMZ7hFXzG5L7hArAy4mCNH6o0O4K/Xog/2i4?= =?us-ascii?Q?WvWXh491aL+/7UB/eByRr30FP3+vpgdHRRgeqSuSuwaYx7MNu/FyExAh8zhQ?= =?us-ascii?Q?CI56GuGa0bLPg3+ZTcUCDvxNxWrSpwKy5B74S1Vo93aRL03+oryThPeOnR6Z?= =?us-ascii?Q?g4aF0ags/sFe2M7csdpcc1J+OtjbvWZ6ltt0XMgypvvjxTKKWfsS/OrTrPdf?= =?us-ascii?Q?EQijHQZSymzaUJ//jE8ed32nR8mUHVlKFtJgm5A1f+e4fMyEuvz68bBdBu/N?= =?us-ascii?Q?5tuYgFr7UF2EuuUIa8SCmLZaU0BBJ4ZT+6PjT4K4a4Tu5gu8B9TvzhTrFp8J?= =?us-ascii?Q?vLJ//tQyV4R/OAgkgX0mO0HREqwVoqkY4Q5YDYK0GnpHmg+12qe+qsBmtmZN?= =?us-ascii?Q?K0ZIBEs8V/rp37giQ/3zH/ZVws7cYFWVwK6BRMmoS3SrcDe6tPZ8w4dG3OQ4?= =?us-ascii?Q?bFEzygI0Wpoml9yPXoVJEtf7gLRsX4waAzJonK+E5DR+b04ylRSUTKQRNHIO?= =?us-ascii?Q?x7FDx8iue3JGvletfLSmsSn56VPnvInkwUQIhpG3z/SekX14tBvd3CmRzKME?= =?us-ascii?Q?fCKaqqoIDg9qJv3D0gv9+I/FcQ3SK/z8zEURC3ATLsxyRi5VtREoc6h1z3/w?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR03MB476; 6:vZQDY91H0AIzmlGLLm2nmyHCG5L5ht4n/ED6LT7621P?= =?us-ascii?Q?MSGFzNJHxGN0WFXlniwbjB6Q3z/2+LgrlLwh2R4X4D5WSl737RDqPPF4qfih?= =?us-ascii?Q?iezAnCyDQJhsQBAaJmTA0EeQjFQ2dv0+hKrPhuXCmgFNZ9jEfZWKbOxGqCoj?= =?us-ascii?Q?EZ3/Q2fxQQA7jiGKn+nbU6aA07APDIrBS83fQaZ3OlIwYWthQzL8wQs/MG78?= =?us-ascii?Q?4i9JkTL2K6BsF0V8hBDXZUoT9JqK9Ro9LAHykt9yk4/LoXPu8mo/VeIESjCY?= =?us-ascii?Q?fnXW4jvf88gwxraaDk5qr3LwLVZ9sqt47v96fDhKQfPDN//ZIMBbj/bA4TkM?= =?us-ascii?Q?HwdTJdpBHJ8icxgiMbr1Z7nfMWYYc86hvCnO6BsjyJE87099tx0zKWFCkF21?= =?us-ascii?Q?UA7igVYD6MDEoArFlWsd3YQBqhaft6nTAyOhkOno0tJHgoH1BvqgK6IlirQ6?= =?us-ascii?Q?GXlNRjrxwa72wq+5ygFiR8UeFH4KRskIMu5aFjJWEPRVlDnQ0BLDV4FdcFmc?= =?us-ascii?Q?2viPcc0LG5dUSTafn+DSuRzdDst+YVegcRFG94PWdJEKnDDo3eAkHubX8wbh?= =?us-ascii?Q?MwcJJJdiGx/ZorNJTJwQJIfu4e5pavQGnY5mbhtatXTdoXAsuxAAKBC7737x?= =?us-ascii?Q?0reen5mW2OCE6SaVCbfFR/mI62VkqIJjiU4m90Yp3DEV19TvPAwx3Z5kgxMK?= =?us-ascii?Q?KJrHTDiJuuH0vwFeoBCwa2VZ+4PXzNj5EiZwbo1bw0M4V2ps0DW9sTOMT5Ej?= =?us-ascii?Q?HDsjFcXqKo+blD/lerh8bNkzLIrExpzVspBt09Q2MzP78Iq40Am5L8NhIRTp?= =?us-ascii?Q?0EIAQby+kp3Jfh2wzKJThxu4zyEF8G88T/3Ms0Gi2FOpxEcyDJudZ9kOm0gY?= =?us-ascii?Q?BgnZTOjesi4QWV/GU8aL9m+AZ0X/FZgxf84+WMrFw9bM3GDYpG8u41hT1Zr7?= =?us-ascii?Q?5M7q6ancFh36Bd6lUKWgjMEh+NVw7ch8+1gwitsPgG/tCJ0vY/giOV+f9mGE?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB476; 5:DJ8ntNp2fQ3zBHIGC6yJjnnZPH2rQHefqDDBCL1rIEnOP342mFBb1kjmcO2KN1yxJ+feI+70D5S4KGNlLOHHrpS6WnZAk3W3kIb5qkeXOBGDt3jfpS0TuAumGmXaUU+PehiqXtOQVWoKNnOb8dkv3B2RRNqjbAWl3nlAYQ1tMEkqaSLAJFGkimpkPmDuPyx4W/KfLTpjQ+mxZBmX4M85KoOSXd5GU68323E37wIxCiGFLAUKAm1cvB48YSGqCeqjUKanotD18Hw1SndbzwrA0pp6NJrGkwjN1/OcKjiEVtXzMpmCZTzsKDCg7r8YiXs4KWI3LjR89Tm8wP2EPDVb44MtlGXKg9bKiQ41YSGfXGqaSviVNrE9Vh+1iM6SdFZfhjvxbnVZuvd+qyEkYdMobPAr1eSaz8Ev3KStTVLJC/FY3N5l2r9rrvF3miRlGcWEBk0OZWzVMND6sVOd5c4lkg/kcZFAQBM2VMcHVhW2aXA8IBvl1XSQOgV2tT0NWmJhhLouvvmuwGK4dwYIkHVq0w==; 24:z6PGrEnopPhKCKRI9rCIsMGZc7/SySQVbdRnHQtc2RgvC/BBPgmZKha5VM3i4dOz3FfiZ4ZyjA5SORi1qvOZjZrWeAt9rCJUazUaLAK+svo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB476; 7:NlWGh4Lolj1b5ZyGYEveEQDsYw3bBrM8wadH5c8zxonngNOfDLUZbuBOZDboPdIXHE0yw1xDQjgLGJcRqutJGfvU5lQGgo16cylcRnWxuxzlC9rOpMPw85Cc9JLEL30fU8FbWIt+D3/3TkPSCOTmvD9FAidL9lDU6oMTivjhymP/uYTg9/6YQJr2XeP/S39tWw5YsoaVfl49TpMDpPpFgbn9cFDkTAxctTJeVJzrHI3nUgRz+ipSViYjXTJBZZ5MUMMa6P9t1V9BFMJHh4Fd9oTaUUkcONp504fRrA1ntNA+an69zwOXFmAtnQOoQ0zgIFIWpMbRUxrNqtPk8JwdwnB7ZU64hq3DlzcdS8KHvPPMM3LMrauDVBngZHgpvM/Fo6zA0D0VHPBzH85vxHAqVse+YZbmtSPJtUoXeFzfhm/IogYOyYzhP+kQ4xBvHjukLdnZjREEMc4DaAQ9P5hDAvMnqfkC8lyXTsDyaCHou80kD+zP+7q0nUpP9IG8o03+c2s4SwXt/5MrGknAK0bdFv8G64CS/1PxaNEVkuQ5WjBnrFD1e/8Y3CNoQW3MFbO2Qkr0rP0Qes4z1n815w7nzPC3hCMw5CWBg7PjuK+24/RCfRTeMNoGZkzRdPCw7vTIpqHa9R/ZTMHa0gsaySC/8Uo7/Peb1EHtAP7U32S9se1yY754MIsDir2hwWuDciilrJrJxWX9fWPwuC1Rtdq8UT/TWJD6wc0M24MNVBTA5TJfcR6qmTnwRF6YMR/L18NGPuVFOWDSWjz8ae2dlOdn0KdDDAOxI4eEBhSDuqjIRZQ= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 14:36:38.8524 (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: BY2PR03MB476 Subject: [dpdk-dev] [PATCH v2 34/40] net/dpaa: add support for flow control 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: Tue, 04 Jul 2017 14:36:41 -0000 Signed-off-by: Hemant Agrawal Signed-off-by: Shreyansh Jain --- doc/guides/nics/features/dpaa.ini | 1 + drivers/net/dpaa/dpaa_ethdev.c | 116 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 117 insertions(+) diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini index c09efd8..1ba6b11 100644 --- a/doc/guides/nics/features/dpaa.ini +++ b/doc/guides/nics/features/dpaa.ini @@ -11,6 +11,7 @@ MTU update = Y Promiscuous mode = Y Allmulticast mode = Y Unicast MAC filter = Y +Flow control = Y Basic stats = Y ARMv8 = Y Usage doc = Y diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index f23e10d..f3d8650 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -329,6 +329,85 @@ static int dpaa_link_up(struct rte_eth_dev *dev) } static int +dpaa_flow_ctrl_set(struct rte_eth_dev *dev, + struct rte_eth_fc_conf *fc_conf) +{ + struct dpaa_if *dpaa_intf = dev->data->dev_private; + struct rte_eth_fc_conf *net_fc; + + PMD_INIT_FUNC_TRACE(); + + if (!(dpaa_intf->fc_conf)) { + dpaa_intf->fc_conf = rte_zmalloc(NULL, + sizeof(struct rte_eth_fc_conf), MAX_CACHELINE); + if (!dpaa_intf->fc_conf) { + DPAA_PMD_ERR("unable to save flow control info"); + return -ENOMEM; + } + } + net_fc = dpaa_intf->fc_conf; + + if (fc_conf->high_water < fc_conf->low_water) { + DPAA_PMD_ERR("Incorrect Flow Control Configuration"); + return -EINVAL; + } + + if (fc_conf->mode == RTE_FC_NONE) { + return 0; + } else if (fc_conf->mode == RTE_FC_TX_PAUSE || + fc_conf->mode == RTE_FC_FULL) { + fman_if_set_fc_threshold(dpaa_intf->fif, fc_conf->high_water, + fc_conf->low_water, + dpaa_intf->bp_info->bpid); + if (fc_conf->pause_time) + fman_if_set_fc_quanta(dpaa_intf->fif, + fc_conf->pause_time); + } + + /* Save the information in dpaa device */ + net_fc->pause_time = fc_conf->pause_time; + net_fc->high_water = fc_conf->high_water; + net_fc->low_water = fc_conf->low_water; + net_fc->send_xon = fc_conf->send_xon; + net_fc->mac_ctrl_frame_fwd = fc_conf->mac_ctrl_frame_fwd; + net_fc->mode = fc_conf->mode; + net_fc->autoneg = fc_conf->autoneg; + + return 0; +} + +static int +dpaa_flow_ctrl_get(struct rte_eth_dev *dev, + struct rte_eth_fc_conf *fc_conf) +{ + struct dpaa_if *dpaa_intf = dev->data->dev_private; + struct rte_eth_fc_conf *net_fc = dpaa_intf->fc_conf; + int ret; + + PMD_INIT_FUNC_TRACE(); + + if (net_fc) { + fc_conf->pause_time = net_fc->pause_time; + fc_conf->high_water = net_fc->high_water; + fc_conf->low_water = net_fc->low_water; + fc_conf->send_xon = net_fc->send_xon; + fc_conf->mac_ctrl_frame_fwd = net_fc->mac_ctrl_frame_fwd; + fc_conf->mode = net_fc->mode; + fc_conf->autoneg = net_fc->autoneg; + return 0; + } + ret = fman_if_get_fc_threshold(dpaa_intf->fif); + if (ret) { + fc_conf->mode = RTE_FC_TX_PAUSE; + fc_conf->pause_time = fman_if_get_fc_quanta(dpaa_intf->fif); + } else { + fc_conf->mode = RTE_FC_NONE; + } + + return 0; +} + +static int dpaa_dev_add_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr, uint32_t index, @@ -391,6 +470,9 @@ static struct eth_dev_ops dpaa_devops = { .rx_queue_release = dpaa_eth_rx_queue_release, .tx_queue_release = dpaa_eth_tx_queue_release, + .flow_ctrl_get = dpaa_flow_ctrl_get, + .flow_ctrl_set = dpaa_flow_ctrl_set, + .link_update = dpaa_eth_link_update, .stats_get = dpaa_eth_stats_get, .stats_reset = dpaa_eth_stats_reset, @@ -407,6 +489,33 @@ static struct eth_dev_ops dpaa_devops = { }; +static int dpaa_fc_set_default(struct dpaa_if *dpaa_intf) +{ + struct rte_eth_fc_conf *fc_conf; + int ret; + + PMD_INIT_FUNC_TRACE(); + + if (!(dpaa_intf->fc_conf)) { + dpaa_intf->fc_conf = rte_zmalloc(NULL, + sizeof(struct rte_eth_fc_conf), MAX_CACHELINE); + if (!dpaa_intf->fc_conf) { + DPAA_PMD_ERR("unable to save flow control info"); + return -ENOMEM; + } + } + fc_conf = dpaa_intf->fc_conf; + ret = fman_if_get_fc_threshold(dpaa_intf->fif); + if (ret) { + fc_conf->mode = RTE_FC_TX_PAUSE; + fc_conf->pause_time = fman_if_get_fc_quanta(dpaa_intf->fif); + } else { + fc_conf->mode = RTE_FC_NONE; + } + + return 0; +} + /* Initialise an Rx FQ */ static int dpaa_rx_queue_init(struct qman_fq *fq, uint32_t fqid) @@ -558,6 +667,9 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev) DPAA_PMD_DEBUG("All frame queues created"); + /* Get the initial configuration for flow control */ + dpaa_fc_set_default(dpaa_intf); + /* reset bpool list, initialize bpool dynamically */ list_for_each_entry_safe(bp, tmp_bp, &cfg->fman_if->bpool_list, node) { list_del(&bp->node); @@ -663,6 +775,10 @@ dpaa_dev_uninit(struct rte_eth_dev *dev) dpaa_eth_dev_close(dev); + /* release configuration memory */ + if (dpaa_intf->fc_conf) + rte_free(dpaa_intf->fc_conf); + /* free the all queue memory */ for (i = 0; i < dpaa_intf->nb_rx_queues; i++) teardown_fq(&dpaa_intf->rx_queues[i]); -- 2.7.4