From patchwork Sat May 27 10:25:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Shreyansh Jain X-Patchwork-Id: 24768 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 7D6CE2C36; Sat, 27 May 2017 12:18:52 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0050.outbound.protection.outlook.com [104.47.41.50]) by dpdk.org (Postfix) with ESMTP id 2C06B7CB3 for ; Sat, 27 May 2017 12:18:34 +0200 (CEST) Received: from CY1PR03CA0025.namprd03.prod.outlook.com (10.174.128.35) by CY1PR0301MB0905.namprd03.prod.outlook.com (10.160.165.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1101.14; Sat, 27 May 2017 10:18:32 +0000 Received: from BY2FFO11FD047.protection.gbl (2a01:111:f400:7c0c::134) by CY1PR03CA0025.outlook.office365.com (2603:10b6:600::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1124.9 via Frontend Transport; Sat, 27 May 2017 10:18:32 +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 BY2FFO11FD047.mail.protection.outlook.com (10.1.15.175) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1075.5 via Frontend Transport; Sat, 27 May 2017 10:18:32 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.39]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v4RAHYu5029968; Sat, 27 May 2017 03:18:30 -0700 From: Shreyansh Jain To: CC: , Date: Sat, 27 May 2017 15:55:15 +0530 Message-ID: <1495880735-1651-20-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495880735-1651-1-git-send-email-shreyansh.jain@nxp.com> References: <1495880735-1651-1-git-send-email-shreyansh.jain@nxp.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131403539124813343; (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)(39860400002)(39850400002)(39400400002)(39450400003)(39410400002)(39380400002)(39840400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(105606002)(68736007)(106466001)(2351001)(498600001)(50466002)(6666003)(77096006)(2906002)(104016004)(189998001)(4326008)(2870700001)(85426001)(6306002)(76176999)(2950100002)(23676002)(305945005)(86362001)(50986999)(110136004)(38730400002)(50226002)(81166006)(8936002)(53936002)(8676002)(356003)(47776003)(54906002)(33646002)(5890100001)(5660300001)(36756003)(5820100001)(8656002)(6916009)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB0905; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD047; 1:RiIrBet2KpN4Ib6zdT8MgnCStn/aMAVjmdzapgrsyvuMi5lA7Rdq3EZCwUUFD7Vv2hPWj6CVNI1vYIcf7O2QOXBjo3zQDk5xlvyuTaXnohL4AsFU53LsUbdlaM1kwaUYVZMTsCX+LXmLKCgp00ugiGZgGPEa5loXqoGwZbv5AnOIRn5AK/gchoV5Ha/oewi7LBl/Fnu3xc5pBlXHHhritv17ARJKfK+05P/F1aO9MPf502pwlOz5W/oXhs3dQz7z2kNiYo83/BPEdwpfsctv5DqJTx0LUhrSPJuZw6wFAAmfRagLR3MpQwyIvw2ob80wT/9s5xl3fLmqzl+jLYEeq8LGuQA4MKaz8eItN5MnNGvuSC4ergU16HQNGiIe2XBlIEGBDJRbiB0TOv1CI+qi8nTu+/8VbRwvjZK7+BVN0liVkCeEtb9/vHv5BSfdaroftz7YD4ejGucmjdUoaEiyhcC6F9ZKZCfGe1QxPNudmNIu/qUiH1wj8NqJ6efCoMCBrtAd9rio6S3NJQze2qgjMESsToevaHQOWOK4KjP+MoXMix/XQgsspHQgZLM6zJYq/vTV3MqqVNj/wVk1gf0q3WYGuRbp5twqV3FO4Dm+Vy8GJKTAaI8OdS5c3XE8Qz2E6QO/J4Hsd4kdMY5GW6MjGqERC4zMmFj9PlETnMUBX4XsdoVfLPNQgDYCsb/sgjjerBWVpanrdKqRHqQ6pGFFCA== X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY1PR0301MB0905: X-MS-Office365-Filtering-Correlation-Id: b03d9efe-6501-4422-731f-08d4a4e9ba27 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131430075)(201703131517081); SRVR:CY1PR0301MB0905; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0905; 3:d7IHRlDHJ2Bhf9axGQiY1ckswn2EOm6ItNZcmT8vYtL+WZpUKg832cPARPUiDXiXm8f2bocnyQYVfmH0xOD1aVJ2mqQC4q/aa//Hqv97peIZWbQ7Wh9mitf3JLo5aE90KhAYT4LXscdxMhAIAa7mAvhBN+Zf+zCE5n2ASCIvB5Q/bXbbiXw8x9VKTzwh4lLMT5a87hU7D2iuVyLcpxJZjzWKcpIlBVLS1CQ65m+obLbxd3m4cq9n/fDL/nDDHHIntQmJOTwS8nmczZdHund8z60mFfB56YsWr9EKz/Z3oze3v46BHomXHsFzfqcRnMd73sjYlFfNH6qRJYfFBLGaDuYF13oDsGwQv/S/eiDkYapm4FA1ZPQCG/SZkSFR26hCgGvFRiIVKrSrPY3DQAnU8bvEpqDPRmKPwtO7BGBCMU4t4zSgggVtQ2CZzSZQ/2hP; 25:9Nz4MLGANP2XFJfn6J0DMqwCwF7Tg/IjCTCxxycMyzzXwhO3+Xh9m0JpSupUBNx1OqEYgLk6MmM910Pcvft3uJR5LmAdhTwrVIJHmFq0tW47sMrewN4CHId5i7+iNwjfuQi1j1iq0FGd77O7rQfG79nuKnmQPirGdxPrJojGKthLPvSekX5wV3JMN9sVzF27QyGnVo7oECqmJ4fu0CyXMB0g3iECIdYpVPptSgoM9va+svguHAOmyEi0hDOTzYUOoHxbAKo1b69/RE9HhHap+a0wK+GXMvfGp7GdiP/PN/efJV1lxf/1UAX6wSg3yQ+GTg4h+R7OQr5fnHTqttTrEhyQGNadTJ7U+t355Wy8T1Bs5BdmgpQxn24P3dHvB+VRUzXSuwnr1gB42dLehns8rvWDZvDS8gTmKtEb7IId2J5j9lPWOD41+iDPJFhkiXRprKkujOD25zSHrI0C5yTzND9taef0NCRuPD3K7/04n7U= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0905; 31:1X/b0m1LNolUCodZ25Y5ZnA7CTelJat9ia/t1MkLuR9jw2KtXUo4kwbTdjOXSye2HkXrJ6Mv9jBJCNIXBh9QUDg5gChjeafJ/yX1V/e/YChw/2thO7cpeFj3zeOlLCTbFI0OaZCtNek/j+H06U3NwJMco8M1pFx03se/QJ5i3t8mk1UQHZ/cTXiV1WlBpNgZLRWLBz23KFfrSgNhpqelgBhhxvznJeGdxZyrxURzw/qybjRcmBBkBNm1IFiqyu6rporeqz8bp7REuyzTZg2Fog== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(185117386973197)(275809806118684)(21532816269658)(264314650089876); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700073)(100105000095)(100000701073)(100105300095)(100000702073)(100105100095)(6095135)(601004)(2401047)(8121501046)(13016025)(5005006)(13018025)(10201501046)(3002001)(100000703073)(100105400095)(93006095)(93001095)(6055026)(6096035)(20161123565025)(20161123561025)(20161123556025)(20161123559100)(20161123563025)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(100000704073)(100105200095)(100000705073)(100105500095); SRVR:CY1PR0301MB0905; BCL:0; PCL:0; RULEID:(100000800073)(100110000095)(100000801073)(100110300095)(100000802073)(100110100095)(100000803073)(100110400095)(400006)(100000804073)(100110200095)(100000805073)(100110500095); SRVR:CY1PR0301MB0905; X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY1PR0301MB0905=3B4=3AsB3?= =?utf-8?q?K866o2Y2uJHpUby+XYqqsUigiQR5L0bnBBqb2FNh/pH0CBt8z1JazElF?= =?utf-8?q?PtOpMkRc9/OV1S63O1lr6+Ld/fbDqaJm70Pcc/hMAhshIxzRHplpOvib?= =?utf-8?q?0ycWNgZcbfVy87VF/kJ3Vq3v5mQq7GY0oDPFJsT4cPRImgg5Ypu21xkW?= =?utf-8?q?DyqaXRO+Vr9LgLk9snjQYPncS+CmGZcciCJFRWNynbtWu+Oej58p0sYu?= =?utf-8?q?drcgauiNln2Bno7GAN2euJJor4kh9XkXWbe5xAPKgR8Ni//VDDMeYE+2?= =?utf-8?q?38jvVh9cAv+vyd7nqluTOZZgEydZm4YMti3K9ctQkzyg3JtUrPgSk3w/?= =?utf-8?q?eyHc8ZHgoCg5zpkcu+kpLV6IonGorhACi8AMr9s3adsr58yMALRAXf06?= =?utf-8?q?MqIiZNQ2oc+uBk5JNXwC11+56XB29xyZ5f2zpcc3UPaVVsIvnc4AxyL/?= =?utf-8?q?UHgQRS7U1aJr3amR2LNidK92PwGkUX+yUeIRPUuXpcZ/9BEhEENbSNRX?= =?utf-8?q?NrgUP3PMC2VgcMQ5Qlu118R5UZj0vebzh/vDD89fM459sFboeCTevBH8?= =?utf-8?q?v86QdX1UyD6Xd6JNeuGet+NIDY0AfjDwM55B7so2OqaMTGEWGGZn9EAi?= =?utf-8?q?zQGHo0LGeDaZyf0WCCFFaNTNFDxu0gkrZbtZpouxDVufeC9DWI6E9dd9?= =?utf-8?q?HDdlHEOf6TyZx1doCumGyEpqhHcdhKShiF8lwC8/tMHF15d+I6JjtfBM?= =?utf-8?q?96NsOA1N98+m7IzJ1rJ3qCSAPNoOfV6wXoo0QW28j+2jfUEZH9a5OOGR?= =?utf-8?q?VNslLmVV9WdB+5qChhYEt2aNh6iVm4f8yu8G/DazvADTgBi886PFY1Iq?= =?utf-8?q?9UkAKI2/aFU8eqEewQKg9r0y4CsgfKviOAKniXWuzs7DnwTIk9k1SMb9?= =?utf-8?q?esGkqYmFq+UVsvSrt9VNhG0sUrns2+6E9dppnRTBjKbs7Snm9/iZL072?= =?utf-8?q?0T8oJiszq5ajPQE0xyXf5I2oXHBmTSCWag7SJDg5On1WwvTMcFZRZSg9?= =?utf-8?q?5TeULp+yUX0UyG3CrmvHQuuhSdtElhqp6ICpaXewDIobLrSb4cRjN/1i?= =?utf-8?q?DIeE0KEWrA2MQHn838eN9sr7ulCqD7d4AtqxElNTq+kzQivjy18AF5rK?= =?utf-8?q?fwiKE+7zDZvq1gDAdZjWYH+zUSq0EeITl4jnspLnoQF8djtvbsm97pR7?= =?utf-8?q?baFfBJ8Vqd0fmHlH+Gu7E08MpIOGzkqZCSoxpgB3tdvSa3klNbYcUSLc?= =?utf-8?q?SAye607deZLKZbQZVN4Q1SznaAUeojrsvyKKUAdq5PQlEEpwQf6XmtqW?= =?utf-8?q?8/UXlcxrvLrkdYeNtzchthf46oAhnsJHpxRzrgcjOAvcb0FkuMVTn2oI?= =?utf-8?q?1m4C/AmLyd5Xvy6qjLeuGQVlKgJWIucYZmNR/mgLrVlVZ+q5LuuXelZh?= =?utf-8?q?AN3sn?= X-Forefront-PRVS: 0320B28BE1 X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BCY1PR0301MB0905=3B23=3A3x?= =?utf-8?q?7cpCRretsYO+Unt1gf+Y0OJHi+io3UMroPyYBAQGhLWW9KZu3JpkF1ca?= =?utf-8?q?U8eQbqtzb4A2KXAhovrREpEilceLMEjSOuH1EMzhAJXMx4Jf4MSDLZJW?= =?utf-8?q?8mMq7Hr8VyMpRa+DDrlT/1u2XKk6BPNWgXf6XrxjZQjSBaj+fvNCrK0H?= =?utf-8?q?0UTJbbXS33Q773nt0L1XMt7YAJTzRv0+VldDYSyUiv+gknPrj6eX3Sq8?= =?utf-8?q?Mh/3gyzcnm1qPmNVMcapTLXYRfuD0l4HgJ7uvmhrX1SKd5+lbVEiHRZ8?= =?utf-8?q?rxrSwTZFB58WTsIFtLJk314NDjq7GAKHgDllfIDsKi37FHT7RkUklwhh?= =?utf-8?q?gl9Cpl4bvdtS27hHR++/K55jXcikiNhF98ypnrhW2lTbIougzBXAWyo4?= =?utf-8?q?LO6d+lQvQVHQHJKsj6RbqCcJQtlCjym88LDdFrcl5HQ8wBXhZ4hYLhux?= =?utf-8?q?A/cd/tjaqzZZ+92E2WaI/ujw6yFSlmNwkJIQ1kOf58ZCp1qz19nT/449?= =?utf-8?q?LBwaquLhnAboeaQSCwCr7bb/SycKMgomZOYPcZv6/hdYw2bb/l3P04k3?= =?utf-8?q?EP+ngslmWNLyrjYNPZ3rQpoDSUNSYphA1tU5atU2F/+un6iH4Fbx13PM?= =?utf-8?q?xy39pQkoOsngzJ5UYF0mosItmiIkHyg862IVZOXWDfy7wtRFAdQ5Io2L?= =?utf-8?q?tckR9e2OSF4uUdmrKiyOWZS+dOZJ6E5V5TgXbTxUM6oV2X26O6w6/T39?= =?utf-8?q?zUpdjSX+sOVFBJY6iXzkpKtm45WN8/RL8+piBA8yivKiGsqEhtkXg9eO?= =?utf-8?q?m+W9FTb/vqN7VNG8sCtOajqtqY2Tgf1eVM1e53OnLJS00gmKeckM1RXP?= =?utf-8?q?ECCjeXMiaDp2AJqwVWt3IfejXg1EX6FXM7eo8f3hgp4VQeGHowV++gXY?= =?utf-8?q?4mu8tNPgqTyeNtdCkff2KZA6UhioUPUca6soFIqGBwJ7x5rmLCBrvEzC?= =?utf-8?q?4rOJuvnk79fZ+atjFLPs7gsr80nrRxOg1RDWcGG4hWuwT7K22hymhwTM?= =?utf-8?q?UB7+f1YnGvW0GqTGnmkPnQ2YW9zArWUJkqFEM53g13eNSYGfruUhaiUg?= =?utf-8?q?92wkd3pKWtkaHqPwnin1jX4rP5WyuAX1cTr1XOJq73eBPROePO6tbKm+?= =?utf-8?q?lNeloGgTjeEo5dPQjjddnt5AJ3sdqYp+nh8bl6iHgRsQtrMzO+khr8u8?= =?utf-8?q?EGu+1EsBaR+3cU5ZoNRPZADlv3qgBcXk0Bs1FOdqMop5BDyEajGr8Y50?= =?utf-8?q?wDeSsGx+/ayW00eRDWKY1hEG2b+SmonQ4LAw2+V26oaDAWJTsZgskZGC?= =?utf-8?q?HlFnhNNMK3Dfd7TG4AymsJieOgARhYhGvJDPZvu7XjHwiuey/dloNofB?= =?utf-8?q?qtSo8ClrWBl1PM1vpF1w=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0905; 6:z4U8vAXXxa85PGnHcsSps6LydpvLOr9uBpgF7dss7ZN9G71IxAQlaIIZ1l6ie9JTsZAZqLozsxAULkMBSls6jhiYT4VTuRHWF31LREoBzUBIsZKllYAjmiL+rQ1iHSwOiKs1fK5duSH3r21EaVvesJZzeR7FuiSCcag/drJDmeypfW9IKHbs1jdgGujQsOa+kR6rykAIXF3pVhNq4mUitHN0USHkQTNxjwuP//pgTgQUqgqL9U/uomgv2cRJkJWgYtarP8rWlvUz8cgOJXkiJxSEoKAGSr5X5aWW8lqEaQ3pqtee76HpZpEZWRqecwPPGJ3NyzT3pw/426exw7HfogdzXGhiNNo1R/yW8slTC+2kzrCyLL1byYfzRohsPtqlkfSNDO5b2LxxMCNwOS0vuSwT45Q3XDnYjSSH/WqecCoiLezFMobODlFSXxPKb91mDh/4cy6T5vYNrVn6E9DiN2aVEFHcsTDCn/Jfd1RbnAIruCZ8m8JSqV93w2wW9aJMlkbIVgo4Tl/beH1OQ4bmkg== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0905; 5:OB2Hbmqyvb8smNdm+PHPRgnyHbCjK1qWdxE6VWAdCmza79yTFDwJ9uWZYQjcTQuDY8EsQEEiO15F6PqwUTrzc5vErXE/z32EXcUMeXUb51PIjuHU/OfqV35Ceg8gNJoZpVL+091xSbp9cc1Mi3CEj8ueKcyNgmEEGFIhvSiqUU3I8ZWhCPCzUm68XxKynotq9OsFzPic++6Jr2r/8/93K0KY5N9QNPCoiEp80a+NrrRMDdYNqtk+iHKiUQVBVrXYyzajPgoxoQ8ZAv/Y9M8YMCTlEyw/aQbjxofk54KOQ4HVbGkbbj/5SMpfhfYKLdG4/2dw7IRS+sKXqsEu/NMcyUgxKhXMgW6gY7zoASZ/H/koe4langh8AbIbl9dsCmERC34498o2QSMA1DRFq7FKLODU6iFPQG636Vx/J1A6lu1F2/RAz4mN/8X8587PbHrdinovDI9fTb92p6sEnOhAPR8IfUmuDChyTx9kcSHtFe5IBUwHCCAzJk2UemtkGuckz/N0w3ITKFNCIShB2E6h2g==; 24:542RCiLS/ay30pQ5lwGxUqDL1w9MHMeaG9zU/L80gbyFrUJLkk0yu1BKQ5VIOKTaaTLuwNJAVEcIy7LREZaY1bGO9uPpMClk5XKL8Z3nRfU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB0905; 7:LivpF0qaLjhSBCjSe+5EqvInN1ZoOqEG5/R9FsvpXz4BtSmw3eX4yhdm5yGf5TLaeWk1/LvqLTSPHriPVuGrP9KT+jWmNnaoMnMIxqS3FxS2ttboGNQ/rTFqFdF28HFOEOs/4w/OanOqXqn9prYTw6fUG+XwGEut2qoqm7xvkHShoWNeJI56drX1iUzKlpANs5GIkmwR369mgiWIyagGK1ApwEyFoIo2vLO2I0gvTP2dhFO9Ys/yLjoAsPb/AqloCYwoco7OJSSBZkC/ujpDBB+Tjo8D95Nz26UT+A6RlC3wkI6ZfJMmDnYFrotGzLal23jNUVdthMf6lLJ/h6tDAg== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2017 10:18:32.2473 (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: CY1PR0301MB0905 Subject: [dpdk-dev] [RFC Patch 19/39] doc: add NXP DPAA PMD documentation 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" Signed-off-by: Hemant Agrawal Signed-off-by: Shreyansh Jain --- MAINTAINERS | 2 + doc/guides/nics/dpaa.rst | 360 ++++++++++++++++++++++++++++++++++++++ doc/guides/nics/features/dpaa.ini | 8 + doc/guides/nics/index.rst | 1 + 4 files changed, 371 insertions(+) create mode 100644 doc/guides/nics/dpaa.rst create mode 100644 doc/guides/nics/features/dpaa.ini diff --git a/MAINTAINERS b/MAINTAINERS index e39044e..e2b0415 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -392,6 +392,8 @@ NXP dpaa M: Hemant Agrawal M: Shreyansh Jain F: drivers/bus/dpaa/ +F: doc/guides/nics/dpaa.rst +F: doc/guides/nics/features/dpaa.ini NXP dpaa2 M: Hemant Agrawal diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst new file mode 100644 index 0000000..3548922 --- /dev/null +++ b/doc/guides/nics/dpaa.rst @@ -0,0 +1,360 @@ +.. BSD LICENSE + Copyright 2017 NXP. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + * Neither the name of NXP nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +DPAA Poll Mode Driver +===================== + +The DPAA NIC PMD (**librte_pmd_dpaa**) provides poll mode driver +support for the inbuilt NIC found in the **NXP DPAA** SoC family. + +More information can be found at `NXP Official Website +`_. + +NXP DPAA (Data Path Acceleration Architecture - Gen 1) +------------------------------------------------------ + +This section provides an overview of the NXP DPAA architecture +and how it is integrated into the DPDK. + +Contents summary + +- DPAA overview +- DPAA driver architecture overview + +.. _dpaa_overview: + +DPAA Overview +~~~~~~~~~~~~~ + +Reference: `FSL DPAA Architecture `_. + +The QorIQ Data Path Acceleration Architecture (DPAA) is a set of hardware +components on specific QorIQ series multicore processors. This architecture +provides the infrastructure to support simplified sharing of networking +interfaces and accelerators by multiple CPU cores, and the accelerators +themselves. + +DPAA includes: + +- Cores +- Network and packet I/O +- Hardware offload accelerators +- Infrastructure required to facilitate flow of packets between the components above + +Infrastructure components are: + +- The Queue Manager (QMan) is a hardware accelerator that manages frame queues. + It allows CPUs and other accelerators connected to the SoC datapath to + enqueue and dequeue ethernet frames, thus providing the infrastructure for + data exchange among CPUs and datapath accelerators. +- The Buffer Manager (BMan) is a hardware buffer pool management block that + allows software and accelerators on the datapath to acquire and release + buffers in order to build frames. + +Hardware accelerators are: + +- SEC - Cryptographic accelerator +- PME - Pattern matching engine + +The Network and packet I/O component: + +- The Frame Manager (FMan) is a key component in the DPAA and makes use of the + DPAA infrastructure (QMan and BMan). FMan is responsible for packet + distribution and policing. Each frame can be parsed, classified and results + may be attached to the frame. This meta data can be used to select + particular QMan queue, which the packet is forwarded to. + + +DPAA DPDK - Poll Mode Driver Overview +------------------------------------- + +This section provides an overview of the drivers for DPAA: + +* Bus driver and associated "DPAA infrastructure" drivers +* Functional object drivers (such as Ethernet). + +Brief description of each driver is provided in layout below as well as +in the following sections. + +.. code-block:: console + + +------------+ + | DPDK DPAA | + | PMD | + +-----+------+ + | + +-----+------+ +---------------+ + : Ethernet :.......| DPDK DPAA | + . . . . . . . . . : (FMAN) : | Mempool driver| + . +---+---+----+ | (BMAN) | + . ^ | +-----+---------+ + . | | . + . | | . + . +---+---V----+ . + . . . . . . . . . . .: Portal drv : . + . . : : . + . . +-----+------+ . + . . : QMAN : . + . . : Driver : . + +----+------+-------+ +-----+------+ . + | DPDK DPAA Bus | | . + | driver |....................|..................... + | /bus/dpaa | | + +-------------------+ | + | + ========================== HARDWARE =====|======================== + PHY + =========================================|======================== + +In the above representation, solid lines represent components which interface +with DPDK RTE Framework and dotted lines represent DPAA internal components. + +DPAA Bus driver +~~~~~~~~~~~~~~~ + +The DPAA bus driver is a ``rte_bus`` driver which scans the platform like bus. +Key functions include: + +- Scanning and parsing the various objects and adding them to their respective + device list. +- Performing probe for available drivers against each scanned device +- Creating necessary ethernet instance before passing control to the PMD + +DPAA NIC Driver (PMD) +~~~~~~~~~~~~~~~~~~~~~ + +DPAA PMD is traditional DPDK PMD which provides necessary interface between +RTE framework and DPAA internal components/drivers. + +- Once devices have been identified by DPAA Bus, each device is associated + with the PMD +- PMD is responsible for implementing necessary glue layer between RTE APIs + and lower level QMan and FMan blocks. + The Ethernet driver is bound to a FMAN port and implements the interfaces + needed to connect the DPAA network interface to the network stack. + Each FMAN Port corresponds to a DPDK network interface. + + +Features +^^^^^^^^ + + Features of the DPAA PMD are: + + - Multiple queues for TX and RX + - Receive Side Scaling (RSS) + - Packet type information + - Checksum offload + - Promiscuous mode + +DPAA Mempool Driver +~~~~~~~~~~~~~~~~~~~ + +DPAA has a hardware offloaded buffer pool manager, called BMan, or Buffer +Manager. + +- Using standard Mempools operations RTE API, the mempool driver interfaces + with RTE to service each mempool creation, deletion, buffer allocation and + deallocation requests. +- Each FMAN instance has a BMan pool attached to it during initialization. + Each Tx frame can be automatically released by hardware, if allocated from + this pool. + + +Supported DPAA SoCs +------------------- + +- LS1043A/LS1023A +- LS1046A/LS1026A + +Prerequisites +------------- + +There are three main pre-requisities for executing DPAA PMD on a DPAA +compatible board: + +1. **ARM 64 Tool Chain** + + For example, the `*aarch64* Linaro Toolchain `_. + +2. **Linux Kernel** + + It can be obtained from `NXP's Github hosting `_. + +3. **Rootfile system** + + Any *aarch64* supporting filesystem can be used. For example, + Ubuntu 15.10 (Wily) or 16.04 LTS (Xenial) userland which can be obtained + from `here `_. + +As an alternative method, DPAA PMD can also be executed using images provided +as part of SDK from NXP. The SDK includes all the above prerequisites necessary +to bring up a DPAA board. + +The following dependencies are not part of DPDK and must be installed +separately: + +- **NXP Linux SDK** + + NXP Linux software development kit (SDK) includes support for family + of QorIQ® ARM-Architecture-based system on chip (SoC) processors + and corresponding boards. + + It includes the Linux board support packages (BSPs) for NXP SoCs, + a fully operational tool chain, kernel and board specific modules. + + SDK and related information can be obtained from: `NXP QorIQ SDK `_. + +- **DPDK Extra Scripts** + + DPAA based resources can be configured easily with the help of ready scripts + as provided in the DPDK Extra repository. + + `DPDK Helper Scripts `_. + +Currently supported by DPDK: + +- NXP SDK **2.0+**. +- Supported architectures: **arm64 LE**. + +- Follow the DPDK :ref:`Getting Started Guide for Linux ` + to setup the basic DPDK environment. + +.. note:: + + Some part of dpaa bus code (qbman and fman - library) routines are + dual licensed (BSD & GPLv2). + +Pre-Installation Configuration +------------------------------ + +Config File Options +~~~~~~~~~~~~~~~~~~~ + +The following options can be modified in the ``config`` file. +Please note that enabling debugging options may affect system performance. + +- ``CONFIG_RTE_LIBRTE_DPAA_BUS`` (default ``n``) + + By default it is enabled only for defconfig_arm64-dpaa-* config. + Toggle compilation of the ``librte_bus_dpaa`` driver. + +- ``CONFIG_RTE_LIBRTE_DPAA_PMD`` (default ``n``) + + By default it is enabled only for defconfig_arm64-dpaa-* config. + Toggle compilation of the ``librte_pmd_dpaa`` driver. + +- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER`` (default ``n``) + + Toggle display of generic debugging messages + +- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_INIT`` (default ``n``) + + Toggle display of initialization related messages. + +- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_RX`` (default ``n``) + + Toggle display of receive fast path run-time message + +- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_TX`` (default ``n``) + + Toggle display of transmit fast path run-time message + +- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_TX_FREE`` (default ``n``) + + Toggle display of transmit fast path buffer free run-time message + +- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER_DISPLAY`` (default ``n``) + + Toggle display of each Tx/Rx frame contents (dump) + +- ``CONFIG_RTE_LIBRTE_DPAA_CHECKING`` (default ``n``) + + Toggle lower level driver validations (asserts) + +- ``CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS`` (default ``dpaa``) + + This is not a DPAA specific configuration - it is a generic RTE config. + For optimal performance and hardware utilization, it is expected that DPAA + Mempool driver is used for mempools. For that, this configuration needs to + enabled. + +Driver compilation and testing +------------------------------ + +Refer to the document :ref:`compiling and testing a PMD for a NIC ` +for details. + +#. Running testpmd: + + Follow instructions available in the document + :ref:`compiling and testing a PMD for a NIC ` + to run testpmd. + + Example output: + + .. code-block:: console + + ./arm64-dpaa-linuxapp-gcc/testpmd -c 0xff -n 1 \ + -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx + + ..... + EAL: Registered [pci] bus. + EAL: Registered [dpaa] bus. + EAL: Detected 4 lcore(s) + ..... + EAL: dpaa: Bus scan completed + ..... + Configuring Port 0 (socket 0) + Port 0: 00:00:00:00:00:01 + Configuring Port 1 (socket 0) + Port 1: 00:00:00:00:00:02 + ..... + Checking link statuses... + Port 0 Link Up - speed 10000 Mbps - full-duplex + Port 1 Link Up - speed 10000 Mbps - full-duplex + Done + testpmd> + +Limitations +----------- + +Platform Requirement +~~~~~~~~~~~~~~~~~~~~ +DPAA drivers for DPDK can only work on NXP SoCs as listed in the +``Supported DPAA SoCs``. + +Maximum packet length +~~~~~~~~~~~~~~~~~~~~~ + +The DPAA SoC family support a maximum of a 10240 jumbo frame. The value +is fixed and cannot be changed. So, even when the ``rxmode.max_rx_pkt_len`` +member of ``struct rte_eth_conf`` is set to a value lower than 10240, frames +up to 10240 bytes can still reach the host interface. diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini new file mode 100644 index 0000000..9e8befc --- /dev/null +++ b/doc/guides/nics/features/dpaa.ini @@ -0,0 +1,8 @@ +; +; Supported features of the 'dpaa' network poll mode driver. +; +; Refer to default.ini for the full list of available PMD features. +; +[Features] +ARMv8 = Y +Usage doc = Y diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst index 240d082..6fc8eaf 100644 --- a/doc/guides/nics/index.rst +++ b/doc/guides/nics/index.rst @@ -42,6 +42,7 @@ Network Interface Controller Drivers bnx2x bnxt cxgbe + dpaa dpaa2 e1000em ena