From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0045.outbound.protection.outlook.com [104.47.38.45]) by dpdk.org (Postfix) with ESMTP id 69D3F7CC9 for ; Wed, 28 Jun 2017 17:17:40 +0200 (CEST) Received: from BN6PR03CA0012.namprd03.prod.outlook.com (10.168.230.150) by CY4PR03MB3160.namprd03.prod.outlook.com (10.171.245.165) 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:39 +0000 Received: from BN1AFFO11FD018.protection.gbl (2a01:111:f400:7c10::100) by BN6PR03CA0012.outlook.office365.com (2603:10b6:404:23::22) 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:39 +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 BN1AFFO11FD018.mail.protection.outlook.com (10.58.52.78) 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:38 +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 v5SFGaPt032734; Wed, 28 Jun 2017 08:17:35 -0700 From: Nipun Gupta To: CC: , , , , , , Nipun Gupta Date: Wed, 28 Jun 2017 20:45:54 +0530 Message-ID: <1498662964-11251-12-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: 131431366591635095; (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)(39410400002)(39850400002)(39860400002)(39450400003)(39380400002)(39400400002)(39840400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(5890100001)(498600001)(50466002)(48376002)(76176999)(36756003)(106466001)(2351001)(50986999)(105606002)(2950100002)(5003940100001)(6916009)(305945005)(6666003)(5660300001)(189998001)(104016004)(8656002)(85426001)(54906002)(81166006)(33646002)(8936002)(38730400002)(8676002)(110136004)(50226002)(81156014)(2906002)(47776003)(77096006)(4326008)(356003)(86362001)(53936002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR03MB3160; 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; BN1AFFO11FD018; 1:bFdCvzCVSJoC/UpnpFK3bH/3iS417Adxoi6RUETQy?= =?us-ascii?Q?DvxV4v6lwmjMicCxgyxFXAA7C+nXg06lVWKogsG6gwz59yFV0vZaq4GWXwdR?= =?us-ascii?Q?gTAbXnHYtxaTjJdPOhGqCSNypAIbrW3BYcZO85WeU5BBBWYUKR18BqAjwf92?= =?us-ascii?Q?A7nSbrGI1I/AIYF7hU5jLEAF+LQGpu1jwYHoeQfjLGxEfDtthpqKWUW8H3hV?= =?us-ascii?Q?1KXWshwDjK1wOu6U+inP9XmOer20g5ky4C/fzVuI0661WUWgG26V/MV5EVaJ?= =?us-ascii?Q?M/ImaQRT8rm1M0wBr+GxljBe1SPlwrIMDGKF3m+LTd04DwgWxUFtZ9XO/K9m?= =?us-ascii?Q?SbV/8BsH+ZvzaqiUCiGSOSrCOHk4XykjuJCFh+zR5/hFKl9TT93bFPx2GU5f?= =?us-ascii?Q?/Roe+DamVrR2EaO/ceRozMnjNxxSU/0UvT+DO3uVXa8gCWhUfVTNWgTfh/1j?= =?us-ascii?Q?fwQydc9PLTizdVii2KbOTME/IPTFCjMBaQLPkxozGZc/Gr3sDHvwlIKYRf15?= =?us-ascii?Q?m7NamrXro6nLKgKte+0u3EgOFzJ4DoUnGkPdpVhwJDz8ysLJtlYYHcwtIpEn?= =?us-ascii?Q?Pv12bBa2tMlwAZy3hGtM51zHNBB7CbVNxE45LDBhrbuOd8agqVNuFeDjuG1d?= =?us-ascii?Q?hjY7jod3hcgjMS3CHbrYCH+zMaDRjJ+JVJJnSJq/TSel+PxjYzWE58DpRx7L?= =?us-ascii?Q?ET6o0bch7zP2q7dzs5wYAO/ft5YS4EYD0C+tS8AIskjQx6wXNANgMSbsgUnI?= =?us-ascii?Q?ZHJcHZjdGs114R2BLKZdwQOg4Po702g7hfZgl0xLS7RzRyiZUFFGC505j6IS?= =?us-ascii?Q?jRSuheY3S0UhiQ5UwFW5wuHuksFVnX2WOYCoiyB0dFZOXI6rnu6ZllJ8Ux1p?= =?us-ascii?Q?ISQYLqXdw/9OJFaH5v/2S8mr/8Voj7rAQ6evZKM/adqJ3pb4LpIbfG3yNWdq?= =?us-ascii?Q?sVQvvl8WRGQmfE7L/Svn4SfZ2RxvjyrLAzganppzX1a/BfNlqsZLrt5O8QLe?= =?us-ascii?Q?eOtUeYPdIz2Jd1jxD7sdVDB7SCc9PpduR8vVLw3rR6Ex/SSSsUtqXo9HgDBe?= =?us-ascii?Q?EmI5q+GN8V0abGLW9zSmShkENDxXQKr9WA30VNFWynm+ISe0w=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c713a236-bb03-4ea9-7d36-08d4be38d07e 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:CY4PR03MB3160; X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3160; 3:1l/mgJC6/GJU5Dg3NXFwOyixvA/2ktDukdMzF4DkOYDER5RgAOBl0caUwTg6xoX4LXwVX2bARp+gFRkrIZyfVIvIU3g/YU/pHLIarMzQnwUOPwZcmnZ8uaQz224CzNSZ211yys/DluVUkwY7FikoeEa4jgvd5VTkc5SKoi4oMNYCOWrfwNl5sjqXr+l28og64oHGCf/V4HLLPOvz+xmSExR0Z0QfRTEDMj4JcNuY7kWzYrCZAjTovo67XZCQSvKjvGzErdmoBtzfGCQ7owkfYYBEmkuzupN80vXwBqMHiFx/1JG0RtAl5uFEOl2H3jcA5DQGx93/Ft/+2BYXOGXbm0MnD9p9LTPK3pKZLA/LgA+RKEz7RG47RwkrdQbx6yyPOKPwIjGfStg/yeV623u9Vjgzw3eSdp6wwOq02VVVRfiAueoEBHwibFheuHLjR5wgGksp8uIGOjgQaObPgOO9jDOBgII+CaXzfU/EugbDssASSiGU38lPGl2gRKF48BwyNw71RsKn0Y4Cj92ppf0Fy6XiM/feoJ+604BC049jhmjIYWJXA6uLasKQJyCULpVop/zb0e5jibPvs2GbqRlGrfmLX3txkOnwuSCCZNbvhGJy2BBR9DN8Ptj5RfUSdeI4ijy/XueyA1cpmunSuBYd3DX+RnSmd5kIJmMJYXXHYsx+e6V+aEhElBBj77fOSnKdiDKesQMi7xP7/+lZI83M/p3b0U0TtBR3hmxNsc3hZEAe3a9jP2NY+LBv1yFTmTiC17XZo0Ese4ipjzgeOHz99h0MsWfiZZGzyw5RR85OXsbkJ4z7dEWPjnCQlcyzoDWXqHAjYJNHoV5t615dcLvjfQ== X-MS-TrafficTypeDiagnostic: CY4PR03MB3160: X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3160; 25:2pvdKevdhgTungYN5oQazUuVioWptDmcHUn5aKvuYEWZr1ODe8858XTdqH2uy8GHJMJE+atJCE6q9fNcBYI6N6l3SiMn/p0P1GYIv3YvZikMu1XhFII0ziUpHF1zjMBL14NpL35LOaP6mw7o7xpYpf9jLPqUpjrRdzF256YeNGNxRFweh4hC8ZVd8OJE+sSsXNmCY6zAFyiea0hacSh2nEgNLLPtWaGfX5WWqPBn7wsgSKjmyX1hu98+bY2SjmMM5T5LsZ1BKcCV8cYlF+Pn2cvLjexV6vHXT1zdHdn+0wUzUFz4ZqG7FqN6eT6T1/cQoQ7JZwZzwmgZxp8l7nzqAuSy5wE/EVJgyUpjFPHSAU4MbPH6A95pQ6b11XJv3+fOXul/BOF/e7gvG7LnAaULxGSUkjZL7HSafRaP89E1+1bXUoJyCpmC/v4hXz30V+zAWAl8/bgzwYQxxrfaP2HOcRJ/UEEKW6tLWbpf+GpAWKjfTZ4IAGRsBXMeelbsDVoGH3Cfxjf/gteb8qV8N1014W0OxDvQ9+mRIeX4Rq4zoVn++T2U94pCE4/ttKdUkBDU2jL1bV0aGeQNo0g1d1dAaUa/ypbnU+yQTOFPLQ5VW1BLmQOiyemY8so1zCXD8RavDsuE8FW2Xanc/w+8Gb6CtcBM+bjl8mWBIaWhBAabT/gUgpF49xBtGYdDRtzoz0Lr2UOVYdDDVCLLc5MZ0035AoHj+WWOBfjJpkc93cwPLlBHgbjnK+XFWGVh/vZk8zAhyE3XPgXluumIIZDnhy/qfGl3mjDN2ivuZwwyBEkyJ+VVpkyr71+igHJlKLdzzpg9LtshPDxKOQnKuSgsFL8815hPyd8UTvmH+A4xWzy1Xk09rW9unsybRm/VZN3lbNd2sfiRWdBCjCFIIEETQwlya1OQj4wBfyga4yDbvKSRsMI= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3160; 31:HlJF3jfQlKf5WyA5KkfX6ZLwJAktimGkeMoRFE6Bq514RF2vn0dIY2PKqc43YayFDLypdyKdquNlVDT8QhjTtrQvgHz8qiAaCdJECKgAHLLgw4Q8xdieLxEx4v12yOZXh4uLgFWDfSdUR3gb62tcdgzKEwnWEVPAsAjwEQuk2+HZJ7qNunTm1h/0B6sHVbZR3Fze34/y88v9FeDOrVPrpvLO1na8zV3YtTHIGH4mssCDTeuWFMaoxmupRcQcwZ+jUNxhIWXhpVoYECPZKY/3zyI8yehxXYS9hX1zuvi5dsxcISvS/lU9xqm8ZboV8I23ZK/SkjJvCK/2hBQr+LTkfMlfF/Yy6sNMKEiNgSkJpCB9jtoc5s+2wSU3T95vMNqDVeBFWlfe1bIv9TBOtAPEUKNsRRSefYuMB3qNgNfsDrHordbyPZgO3ucxj4TuB29itQ/J0ovI7dTBCsUjvx78UNaJmCpQsRNQ9feB0CcwkU9peNmNfySbkEms3yfJDgQAYp6XTVUbFg+Lya+UVRfY6xkkV7j6hcE2tYzS0PDAcptUUO+vP3nLK4zvvA8wI1MSID0NT4ZSNpzratyP8qzZIMvg6Qrn021IRAQ2VMlxCQg8FUHLy1VXuLIqvcVi68r4ioeFqMb4Yojl5g7VQAmxXMz+gR2tbT0fvULV+yHPaDYgabw26KVQaY3QGOylraTQ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(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)(13016025)(5005006)(10201501046)(93006095)(93001095)(3002001)(100000703101)(100105400095)(6055026)(6096035)(20161123565025)(20161123556025)(20161123561025)(20161123559100)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR03MB3160; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR03MB3160; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB3160; 4:AI6AMDlZmsqlH1mEN2lfy9wGbGX4Y3GTuVNKyi7zvM?= =?us-ascii?Q?69mG/iuKR0evbtq5BQ651SvwtwXd+a3V0VaQJTprkkdN2MzzDA45z6bXd+/y?= =?us-ascii?Q?jjtfmwoQMYgBSHPoNKpXQqNwkKWVZlpZnIW8wGKNqFUc7SjpSsY+30rsJJ7x?= =?us-ascii?Q?idADlRDasZyAErR+Dlw9WbpbXhIXoJdIg8XxGAR8Bw37hQ5+uiUkvSSkiOFq?= =?us-ascii?Q?tLw/Nl4sYVNa4yxzslGmSOCQXvwYBAAsn3v3vE4K9r295WgQyFfiE1BV8vxb?= =?us-ascii?Q?/mCJ9hes8jsmm3mmBlhWJbbyTqTxpMHe6TcUt8Bj8OTrkfB2y52tImaO9mT6?= =?us-ascii?Q?bYXWC0QW3WbJtphkCynvHNKeO+Ee5HFAuIs6ZSGFSX8xlUhmR4u+QhfC1c28?= =?us-ascii?Q?VDy07rKkJMRf0zyTvatj37nUfAAdshvwMUFgi0caTEEm29wF9OYU0v1sxaSJ?= =?us-ascii?Q?HLcDFzYt+XC4ujKQGCS17vP+8xyT8pwj1ExG73umz3dHPyo4kVCg6SDmFwFp?= =?us-ascii?Q?ZC8QFoYfYCgRShSlHxUzYewGm2dlwjLFONr5YCnk4LTxim8BfqQW/AqtKkCx?= =?us-ascii?Q?nA0HgjQLS+uhRI+Ji8+v6/VU0ubO5RwUtPMtZfl8wvN0s1xfihOh7MW6O5j/?= =?us-ascii?Q?+acy36oGFsRCU1Enrl5KK8yFSrcyKtaaVOJ5CK4O0JYCKM0qvJHePYxcdcV7?= =?us-ascii?Q?26ahy+2yZqiF0RUZR9/nuxPTCHDgMmb5Tk1ox3Y7cQhB/Is/5pt5uIaovzrh?= =?us-ascii?Q?UTcfLwn78DVBrCiMaxIEIusppuTAAolUGel80VDf6CjJ8+fpDukp3B+9V5Y1?= =?us-ascii?Q?fInKY4vVvQA1DNU1lzHMSGUFRGen1tXFEl4k5i23dnnEW1GuAs9p7afZPZwi?= =?us-ascii?Q?syJq8ZEi2EABrxhUKLHXq5uLez1IRDa6EswgvmddzkQsdgJrhqgWr83W2Vjj?= =?us-ascii?Q?5fy6bdgfDjYWvMGtHucDU/uPTHRMZ0DiTwXyVUUAG/j3HWWQrVidtzHMGZEv?= =?us-ascii?Q?20eFVegZjSkpk0uUelrUprtZvcALa/EydsJ2mkzI/k9cM6WyhKFbYs7nXa9A?= =?us-ascii?Q?YoBTPi4+XKhoZ2+zCcyPVIYot0XXZbT9iTixacq585Fv8T2/Uan+QBAqiN++?= =?us-ascii?Q?bm6nuL9Qxrnx5J2zK5MrTHFLQpRdxnRBzD+nSgFOr4suwS0aeZa08WII8vK+?= =?us-ascii?Q?geHvdiB7uEUasAgOkKfaEgWg1dzVqLlOg+DEbW0mcmcrUcTpWzvhSGAO4amc?= =?us-ascii?Q?JdLwM89WG2g3TfjL/sQ24AYMarx6YEVJHdyNqrsCeQKidDLA5f6BM/8BcNdC?= =?us-ascii?Q?EgH1KfLZjQQj+ygl7q63I81/J8o8M6FvunQtk+QauQ?= X-Forefront-PRVS: 03524FBD26 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB3160; 23:/om16GBSBuaeVcfihNXzbQYhVR2mmXJkj9/44k+qB?= =?us-ascii?Q?Vnm76YPH5i2S4D7b3XtDbY/LD/JZGsMdltYSFQREXxZc3pqhV7e8VKXxYXfS?= =?us-ascii?Q?8ABYX3B7emCqMLgF/l71YPeUVH/Pi7XPZ+TOFrSEpUnknTvs5a31nR9mkmX+?= =?us-ascii?Q?Rf14EbOe4uqzyoRkN9THwmRAwRA2xLsuKf6yOeDDEcQIEu78jSIDxWS/s5pf?= =?us-ascii?Q?rGGOdwngA4vVRZ9e9DVw4NS6LVaCd99sNkRpz0sBkCjwQZpwLbReCNgDVoz+?= =?us-ascii?Q?wCPUutfBntG2ocBc6czZpuVb6c7RTLlyOLjgrArY74duzz0Wz2m53cA+LXR/?= =?us-ascii?Q?YAAo/lYyZMskZXNhNEP+5/jABd7iZjQ/y5/IPijXHpgipub/z36FBs/ZEuS0?= =?us-ascii?Q?uqEU3ZGaskgt4hyjab6rk9RiNgSKRwkTptjjNEb1STae8WnVNAKby/vCzZSQ?= =?us-ascii?Q?rq+qv+kq0qlEEEtiTXD6H+NXWBRDtSVnvRW8+8w5DwDXiHWqMAhQmFnY8r47?= =?us-ascii?Q?qfwVhnf2WBmHfhuQZbPdXN6P/iNBm8IDXZU3Ato4vGz5nGDk5BQu4uHPq9fe?= =?us-ascii?Q?9vhAG+mOn5Av8+wazwb7JurMpDb01Y9aW6irXMQEHyn3tx5qsjJ1I+E6Y1hd?= =?us-ascii?Q?KOPshic04WLotdCzwfRd0zosVroo/G1ymR4s9qQniVAjYwCmwCyY/UcsvLGW?= =?us-ascii?Q?Rm4/DhxKbGtspI+VqcmpVGGyVojDYgF1RV4iY3QqTxMov3Vq4NZuNUrEKACi?= =?us-ascii?Q?AdfBHgi2HRAT5To5bVEOtknQ/cYVrl94MipUOrEaTsOYWuAVOOd676JipNMq?= =?us-ascii?Q?c8iqmuKnorKxnCn9Aq6ZM89G8KJ9NvM26kvYQtMWbLdV7Mw9EvOeyIsBt9YV?= =?us-ascii?Q?T86AaBWGrDA/1zQmcjyLpDvVOvaIwbpf4dzSirXadFf5qriLBGptdiKotjEM?= =?us-ascii?Q?Ut/oylyZhJBmESTTcdslt3x555n9iah3enkabprLMikg2sM2+nQQd/0VFAw/?= =?us-ascii?Q?voMWdKZr+cHzOb2ZLiOKf0dx7LzYvjbNrPsDvam9A9yOnQCT1gHzUNadLDgY?= =?us-ascii?Q?Qf0A4i0A3PDV0xsZLwYSH5yTR00sPb++A+ay/a+0HQnIYivWRznAQSGOmyVQ?= =?us-ascii?Q?Di2yAz6axIr2djrdL6wR8CegPlGazhcW4moaLQRmDpMkk2kThyG5JBPF9m2Y?= =?us-ascii?Q?1S1GxztmQOr0nnghQf6+LKEl2YdpH4vNTRb+pYF5GydD6wWkpvWbPddkxpm5?= =?us-ascii?Q?IWtqe3XRPi4dWv0AzTJOVsB0Ry4bMe57Jm4OxmIYE7cfQfnas+NDBO+Lmsbc?= =?us-ascii?B?QT09?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR03MB3160; 6:cumRrkQMf3oYa3+yg1lfCdwYruzJDGyJcg0iTWYEac?= =?us-ascii?Q?BZAsuXuYv1JB/xQD3Lfs1Ij1M+X2J66vCOMbrI3MJtmAdv1cdBpYymM0kDdY?= =?us-ascii?Q?7qFpA31gk3ZGo5hLKJvl7aRuL1T38TMuwA8FCmbIiW3mry3jsPNKeKjGeWs8?= =?us-ascii?Q?Z/d2xifxZH5WoY73V8OdinVgJm88O/vyVZ4ZCofizktzc1b8yql/FPU95HRx?= =?us-ascii?Q?t45Ltfaq+7GoX9jGGc8rqznTKVr5RkLdqB6htwbQPa1owJqxMyFdCnCStSma?= =?us-ascii?Q?QMgi4SSj6rb4jcsv/sXlI99/Hg5AsCUn4U9AZuV0MzbHMdDr25bG46G2Jfce?= =?us-ascii?Q?cRFqShYEyjhj0gg4ZC4ybs9V/lg1f8C2sW87Y6JE5Z/LxsDigMUDXW7YnAvi?= =?us-ascii?Q?dqM42Pm6wjSvopL7b7BLmUpwpBgQYLWqpWuEOD9r+BruEG8BXtESCCKaSRru?= =?us-ascii?Q?DSFQXFuC73Wcon/j/gcFkXAk1olYaH6+qFjzp0kcqk+bnc7yMp7Qqnh7SD8v?= =?us-ascii?Q?C+r8YfmGxVQOIxjen7XuzJefd/dPByPFshwtBKUov3myF6QmOxYrQp+3EROi?= =?us-ascii?Q?COkvl+VzKEOWhFI9x/Am5Gx5/nddEG8yA47A98IhPEi37MZGeRfdDTRpiSHf?= =?us-ascii?Q?bw5P4UPUoolZRzSQ5v10EJPQf92EQsIjI0lIXIXrgFB8TP9OCE27qiWporGL?= =?us-ascii?Q?/qPr/wBjdkz0PnjCK/VWTBqNP9LQDmOJTTnyw/K76vqywEcpKWIuethSN1gt?= =?us-ascii?Q?Fih++//kNTOO8D5xDXv5/pT0p36omb+fOcls/3Nh6Fmu/tMwNOgzsBEkBwiD?= =?us-ascii?Q?y6qb7Gb5PxbPG0u7Jiuss8MLkFhMp3iddNp0VnopiSV7hdI/IGaZNfFBnsPi?= =?us-ascii?Q?jTlzPgE5ZbcGvfA5k/8/vddnGJgF7JQ3dmdLCDrCqh6GX1Br4TRUWAQ743zh?= =?us-ascii?Q?gOMq8pYb/M3bz9ZB2FgFckn61AGcSipy8qzCRZcQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3160; 5:DXRVRe/dDOYrQh/yzMFUQCAxAWU9fQxiAj3HuA8Y4glCly2/gAYdMppTxo01SpcaI5VV7Nj6PF4yq6EjpGHIcWIrNkr6Wz+CJQ4sOmsFHN1eWu+ZOpAoRh/eFgQ4fZNR3Kw5jaFvi+OixDb23DyIjpcL4IB0/6ty7u+Go+Cym2hk928SK63q4K2XPZHRR8XogYEDbExgJu2MA0Jt6iQdj+rbblvwM2uTCdwjVHOnQ8Wt5pDphjxJZt3+ParWFCQldLMGp/qHPZpJ6U7IapVJ2ZkZoCBDMmL6+BBCij1A0fbXd3XTsBGvlBDtkn95Fh0EpOj+UtcAW1GHQhau189tpplXza5fonWOqwaLmuTmoG59D/VBOlrJqjELaBUo1WReMI50lqn142b9QgAXol6WB75yd+WMLhiG4w661kCIFgcWs7PvUQqpaJ5xun0o8E3gd7XGXgxNlFUU6CwDRfEZaBnjrP6LpnKDUdyF+GvLnae3VP97Pbvp99CLNJanZSGXhcqd4E71cJNE3fZ1C66ekA==; 24:Kn3C6WhCIYxmjT/QVWypV+/cUy+DoxE9WtIpfjzRvrhh3PQk4iaeuvI0BWfP7jrBnr54UFc7c3yztQyjjjpK3WxEt7xDMX2Kt+GUl9aC/Ug= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR03MB3160; 7:oTO1A3g8W52gLaD5VbC3OYGxW7DfyYt6qZbsmmY7elRWs089+6/euVMx1uEM8Yxi3fFi9/Q517oXTkRPKMxirSTIZQBnCXPbIo8nJRt0Uk33s+GNgzSK50+LrfaHS1EK7+Cvh2pVBUS/ozctkFIBGUkaZGqXr1OgmscNhOWWH6YXasbhr1KPBN2r5qRzO8apGu16taGYQCviKy6e+dbiZSkNa3lpDcjctg0ROVTaH0D/PXlmu38E8VBqvH0VWxrXLXRDHKrw0/KJTUiNWH1tPTcnNMvVgIaZc9+UkBwOslICGfSSzhSSVnWKjZKqwWDGPFB09GUr16m4T1k/YFQRHr2DUf9C/Lx50z+uF/mujab03jMFBzo4SpSuPOi6r96ArGSpPKiXVDBVcKwvCVHf6JPL3bqIFBXoUeuBNnsHm3+dBopsDNGCE5U09cnyXBc4PaXqGDAXJjdlsKjMXvCQRl1cPze4x3Ml73Hssq6AK4AHp4vsfCNl1brwkGTZnhctkiAUMq3BbjxWSczA9r4BpsY74rcYD9p3tgfQlQUI3NRI3fSRP7kBhGVdpi2WsGiIc1pme7mnI1582ilOUKALWld1clOZ9Oy1+E8iPUo43lNjjG7+lvomCgD2HrFCZJquf0KIswLk2WGRMo7zOe5AK843p6hde/OGDtE07lxZTtl5ll4w9R9O078nlnXCCf8XtcgZs3EHoQVZLjhJwEXAD/2bcqrmstwDNazHCQSI/SjMaGCS6oN679M5Mtp4Y0eYUeH634xpOiohDDxlMav5ydKegTDYzYZQcAVB2Li9qYY= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Jun 2017 15:17:38.9763 (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: CY4PR03MB3160 Subject: [dpdk-dev] [PATCH 11/21 v3] event/dpaa2: add initialization of event device 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:41 -0000 Signed-off-by: Nipun Gupta --- drivers/event/dpaa2/dpaa2_eventdev.c | 157 ++++++++++++++++++++++++++++++++++- drivers/event/dpaa2/dpaa2_eventdev.h | 23 +++++ 2 files changed, 176 insertions(+), 4 deletions(-) diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c index 191901e..b8cc3f8 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.c +++ b/drivers/event/dpaa2/dpaa2_eventdev.c @@ -30,17 +30,168 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include #include "dpaa2_eventdev.h" +#include +#include + +/* Clarifications + * Evendev = SoC Instance + * Eventport = DPIO Instance + * Eventqueue = DPCON Instance + * 1 Eventdev can have N Eventqueue + * Soft Event Flow is DPCI Instance + */ + +static uint16_t +dpaa2_eventdev_enqueue_burst(void *port, const struct rte_event ev[], + uint16_t nb_events) +{ + RTE_SET_USED(port); + RTE_SET_USED(ev); + RTE_SET_USED(nb_events); + + return 0; +} + +static uint16_t +dpaa2_eventdev_enqueue(void *port, const struct rte_event *ev) +{ + return dpaa2_eventdev_enqueue_burst(port, ev, 1); +} + +static uint16_t +dpaa2_eventdev_dequeue_burst(void *port, struct rte_event ev[], + uint16_t nb_events, uint64_t timeout_ticks) +{ + RTE_SET_USED(port); + RTE_SET_USED(ev); + RTE_SET_USED(nb_events); + RTE_SET_USED(timeout_ticks); + + return 0; +} + +static uint16_t +dpaa2_eventdev_dequeue(void *port, struct rte_event *ev, + uint64_t timeout_ticks) +{ + return dpaa2_eventdev_dequeue_burst(port, ev, 1, timeout_ticks); +} + +static const struct rte_eventdev_ops dpaa2_eventdev_ops; + +static int +dpaa2_eventdev_setup_dpci(struct dpaa2_dpci_dev *dpci_dev, + struct dpaa2_dpcon_dev *dpcon_dev) +{ + struct dpci_rx_queue_cfg rx_queue_cfg; + int ret, i; + + /*Do settings to get the frame on a DPCON object*/ + rx_queue_cfg.options = DPCI_QUEUE_OPT_DEST; + rx_queue_cfg.dest_cfg.dest_type = DPCI_DEST_DPCON; + rx_queue_cfg.dest_cfg.dest_id = dpcon_dev->dpcon_id; + rx_queue_cfg.dest_cfg.priority = DPAA2_EVENT_DEFAULT_DPCI_PRIO; + + for (i = 0 ; i < DPAA2_EVENT_DPCI_MAX_QUEUES; i++) { + rx_queue_cfg.user_ctx = (uint64_t)(&dpci_dev->queue[i]); + ret = dpci_set_rx_queue(&dpci_dev->dpci, + CMD_PRI_LOW, + dpci_dev->token, i, + &rx_queue_cfg); + if (ret) { + PMD_DRV_LOG(ERR, PMD, + "set_rx_q failed with err code: %d", ret); + return ret; + } + } + return 0; +} static int dpaa2_eventdev_create(const char *name) { - RTE_SET_USED(name); + struct rte_eventdev *eventdev; + struct dpaa2_eventdev *priv; + struct dpaa2_dpcon_dev *dpcon_dev = NULL; + struct dpaa2_dpci_dev *dpci_dev = NULL; + int ret; + + eventdev = rte_event_pmd_vdev_init(name, + sizeof(struct dpaa2_eventdev), + rte_socket_id()); + if (eventdev == NULL) { + PMD_DRV_ERR("Failed to create eventdev vdev %s", name); + goto fail; + } + + eventdev->dev_ops = &dpaa2_eventdev_ops; + eventdev->schedule = NULL; + eventdev->enqueue = dpaa2_eventdev_enqueue; + eventdev->enqueue_burst = dpaa2_eventdev_enqueue_burst; + eventdev->dequeue = dpaa2_eventdev_dequeue; + eventdev->dequeue_burst = dpaa2_eventdev_dequeue_burst; + + /* For secondary processes, the primary has done all the work */ + if (rte_eal_process_type() != RTE_PROC_PRIMARY) + return 0; + + priv = eventdev->data->dev_private; + priv->max_event_queues = 0; + + do { + dpcon_dev = rte_dpaa2_alloc_dpcon_dev(); + if (!dpcon_dev) + break; + priv->evq_info[priv->max_event_queues].dpcon = dpcon_dev; + + dpci_dev = rte_dpaa2_alloc_dpci_dev(); + if (!dpci_dev) { + rte_dpaa2_free_dpcon_dev(dpcon_dev); + break; + } + priv->evq_info[priv->max_event_queues].dpci = dpci_dev; + + ret = dpaa2_eventdev_setup_dpci(dpci_dev, dpcon_dev); + if (ret) { + PMD_DRV_LOG(ERR, PMD, + "dpci setup failed with err code: %d", ret); + return ret; + } + priv->max_event_queues++; + } while (dpcon_dev && dpci_dev); return 0; +fail: + return -EFAULT; } static int @@ -61,9 +212,7 @@ name = rte_vdev_device_name(vdev); PMD_DRV_LOG(INFO, "Closing %s", name); - RTE_SET_USED(name); - - return 0; + return rte_event_pmd_vdev_uninit(name); } static struct rte_vdev_driver vdev_eventdev_dpaa2_pmd = { diff --git a/drivers/event/dpaa2/dpaa2_eventdev.h b/drivers/event/dpaa2/dpaa2_eventdev.h index b151502..2a3211c 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev.h +++ b/drivers/event/dpaa2/dpaa2_eventdev.h @@ -34,6 +34,7 @@ #define __DPAA2_EVENTDEV_H__ #include +#include #include #include #include @@ -52,6 +53,16 @@ #define PMD_DRV_ERR(fmt, args...) \ RTE_LOG(ERR, PMD, "%s(): " fmt "\n", __func__, ## args) +#define DPAA2_EVENT_DEFAULT_DPCI_PRIO 0 + +#define DPAA2_EVENT_MAX_QUEUES 16 + +enum { + DPAA2_EVENT_DPCI_PARALLEL_QUEUE, + DPAA2_EVENT_DPCI_ATOMIC_QUEUE, + DPAA2_EVENT_DPCI_MAX_QUEUES +}; + struct dpaa2_dpcon_dev { TAILQ_ENTRY(dpaa2_dpcon_dev) next; struct fsl_mc_io dpcon; @@ -63,6 +74,18 @@ struct dpaa2_dpcon_dev { uint8_t channel_index; }; +struct evq_info_t { + /* DPcon device */ + struct dpaa2_dpcon_dev *dpcon; + /* Attached DPCI device */ + struct dpaa2_dpci_dev *dpci; +}; + +struct dpaa2_eventdev { + struct evq_info_t evq_info[DPAA2_EVENT_MAX_QUEUES]; + uint8_t max_event_queues; +}; + struct dpaa2_dpcon_dev *rte_dpaa2_alloc_dpcon_dev(void); void rte_dpaa2_free_dpcon_dev(struct dpaa2_dpcon_dev *dpcon); -- 1.9.1