From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50052.outbound.protection.outlook.com [40.107.5.52]) by dpdk.org (Postfix) with ESMTP id D982DCF9E for ; Fri, 20 Apr 2018 12:34:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=hbukGL2VwrQY0r2QCI9OPV359WoBNs9FMoblVcSGnqc=; b=oUXb958HAtn8rUVDHVskHFE72tbsh8BmjtJCXJ86yNH3K6c3YtNOe23q57Ouo4OBy9DTofTSpDwR5p+luDLo741LUMUw5mJe5MQi+ofTWrmKFfLnjZnKdOzMjRwI7TU4vmbqz69E6s5Nn1aabR0lllW5/bgQ1DXdyrRfaqOeQ10= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=nipun.gupta@nxp.com; Received: from b27504-OptiPlex-790.ap.freescale.net (14.142.187.166) by HE1PR0401MB2427.eurprd04.prod.outlook.com (2603:10a6:3:25::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.696.13; Fri, 20 Apr 2018 10:34:43 +0000 From: Nipun Gupta To: shreyansh.jain@nxp.com, thomas@monjalon.net, hemant.agrawal@nxp.com Cc: dev@dpdk.org, Nipun Gupta Date: Fri, 20 Apr 2018 16:01:03 +0530 Message-Id: <1524220264-17281-9-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1524220264-17281-1-git-send-email-nipun.gupta@nxp.com> References: <1523114224-9852-1-git-send-email-nipun.gupta@nxp.com> <1524220264-17281-1-git-send-email-nipun.gupta@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [14.142.187.166] X-ClientProxiedBy: BM1PR01CA0102.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00::18) To HE1PR0401MB2427.eurprd04.prod.outlook.com (2603:10a6:3:25::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(48565401081)(5600026)(2017052603328)(7153060)(7193020); SRVR:HE1PR0401MB2427; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2427; 3:vUE4QPtNsUhRwypBBjgOtQ0Cfz3nY5HounYtHXYDGb7dvk+UjjP/oUNirS/K9jepmiOHkivWBsCLIl6TdL5MLChoxbI1M6v+rFNzShbJm5KjgTajJOI8HKWkGl22wOlnHLjO0g5H0eDZ89R4HBHq5wOFuQPn/DUxe4R6cpUwLVFvPtlhfXkVk2O1Q7iQzRrfskEEWN6yKD2qc0SolmFYuKxSJ9r6xF411pmFH06oXaDrnf9Sd4L6BqoWfHLpgTP0; 25:LB45AQGcYDXHwRnE7aPP6picGd0eONwPugL60T/WPa9QTBtNjKS5z58s6eAZum2ZOz1gEegui17G7ji1/wgVDIW8mrPEijOe+kKZ5gp3iDQWu9JqknFMuW7x7hEdnQwiRLFz/qbzto0TdVW3D77NlQos2tB+v8LmLh+z/n4tlohZojOE2ILU0x+7e6HtVr5uQ1yeRS34P6/7p98gS1qlj/fDt2CrfdIWI2k94Ki90askYTJz+qVBOsl4/HeQb/dRfInEgb4IvxmS98zCruAp+krm2CD6QeQQAA/yzKOzL9fh0m3DDz2MdaT7iF7WF90IHejjvPK9d5DANP/BZDaWlw==; 31:17iVugp3XWej3B7vvUIa04OPgfuLm5VR6QZ/fkgpgDbxDiWj2N+qJATuoALllaaBhIJiBhS4GTG83niVaqJ+BT7nQcbdQG64MgF1lq3a0Ea/vq+Ujf5rFSGRX21j0M5ZUiR149h+BSducBfJawgVzw3hin1hcxmFV5HJZaPNBxpzbf6vAcQtv0UbSdOnZPzjFdyn1e5DjE8gBWr7gyF962JPsvt/IzxuIvGTk0El6Jk= X-MS-TrafficTypeDiagnostic: HE1PR0401MB2427: X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2427; 20:58qTXS0qkZQYHmY8NCZlzG6o1KRBfrprK4SSAIrFNQkhGlOKTYp7TC3biyaRCGwq/sC2879dEl3HQfpdxGQ6zORDerOM9OL6YIrEamVt3HykZsa74E5QG1r/mhPX/Vkrny1cN2//judfcArRny07BD5HpLwcbk+/L2D8IGMu6v542tCP7g1DFCPHPyKKM4FQQJxw7iqrNG894bgjLYs6TWvjJe3zdCDLSMW89UUXJJrcvfkYvgz0EDIW/lbIYuc/oe7wgApkvbaJFzTxieODZMNV3qtzia7egoyn57szzT+thXyWMI3BjVJ9dVW0UwoU2lPZEtkGPxmROlMPq8uqQdE43YFkR+G76cIGcZpbMPoLBEIGiT+2Uggk9uSgatMN9cyu/A2oKYK5K44I/manqRJ3O/9DQ6fe70s83CxGrr1jcFWLsyM/rTUBb4PutmrRoduONtPDJBnQANrKEm1/APpNkgCI/oiSly2pBIWfrSCAp50DoHVQM5pkB84cttpo; 4:aoIC/p94ZiGc0BMV/HoFU+2QmPhlSVDk+/JfkdXyvTMCNFmcpw3TMgywApEi1ZR8F5snzPzuD5MqRUm+V2Lx9Y4riLi+4uxiH0p5ud77ohwtPU33bEVmtBhY4d7Js/yRfdOjTw7HogIBMdzdYufagcga3gu/Io4b07DTRgEtxpwj7Cv7Np3SMishHwVpfP21KV0rxmcgiJTR/NRBJRhYnHnRnx6A7XOM/mkFuixedCESGl9n+HjPxbVR1GLGlikL/ebW9gYX9miZ1DAk+MtPcqSXvAXP+ICbxrya1C29oS2GaoDpuArB0a2LJjnCywgkCNGVLgxokRQBMGVMUz8CDdH9Qbv0Sgs+7kv9OasQCaRsN8qigGD4RHSG8OSPy8A8 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(185117386973197)(264314650089876); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231232)(944501393)(52105095)(10201501046)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123560045)(20161123558120)(6072148)(201708071742011); SRVR:HE1PR0401MB2427; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0401MB2427; X-Forefront-PRVS: 0648FCFFA8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(346002)(376002)(396003)(366004)(39860400002)(39380400002)(4326008)(16526019)(6506007)(386003)(8936002)(8676002)(81166006)(26005)(36756003)(25786009)(6116002)(3846002)(6486002)(23676004)(86362001)(956004)(11346002)(446003)(476003)(6306002)(52116002)(2616005)(6666003)(76176011)(6636002)(5009440100003)(6512007)(53936002)(2906002)(316002)(50226002)(2870700001)(50466002)(305945005)(551934003)(44832011)(478600001)(7736002)(47776003)(5660300001)(66066001)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0401MB2427; H:b27504-OptiPlex-790.ap.freescale.net; FPR:; SPF:None; LANG:en; MLV:nov; PTR:InfoNoRecords; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA0MDFNQjI0Mjc7MjM6RXU2ZVNUM25iMlI2cmFQaWcwRkxYNUR2?= =?utf-8?B?QitXQXhXUVNrbUZqeEgvejh2Z05FOUNiRUpZU1hOWGF1SlpQMkNrY1l2b1hZ?= =?utf-8?B?NUI2QTZSRWVjcE9jVmxzTGRDbWNOZmFVdHg1TUkyeGpwQWsrTnFseUxhR1dT?= =?utf-8?B?ZktEMk9nWE9SblFEc0NtTE11TTZZY2R6TytaQitQdW9GRDhoRk9Tb1JJZThI?= =?utf-8?B?QVZyZXN2cVdtcGhzWTZTc0pXNkxkUGl5TVhEenFMa1ZXSnJqWXJlMEJuUTZX?= =?utf-8?B?a2lDSExwd25nVFY0RG01L1VvNm02TDd2MFYwREV2TG1xa0tQRkxZQnV6QUxK?= =?utf-8?B?bWtRMUhYVE1JVEQrbjgxcWZQVUJNUFRGN3c1VEFFUUN6WHU5dXUwdncrQ05s?= =?utf-8?B?YzY3UEVFRlVFNkp4ckpoZi91ZkkrOVExV2c4S2taYVhGUExxMnFoU0YrQXZj?= =?utf-8?B?Wno4WkVMdDZqbVVnckJpL09TVldXT0xwaUlhTHRjeTA0K1J0bzc5c2dmekNP?= =?utf-8?B?YW9hd1NRRm93Q0ErV05OdTcxczlIeVdUSDBwR1JZTGZsS1Y0bTh2aEFrV1NE?= =?utf-8?B?cTdEbWI3aU5WYVY1TFFDZkJXaGR2akM1eERUVDlEVUtiTm00ci9ZeGI5SHJp?= =?utf-8?B?KzZ2V2l4UEZMOVhncWhWMUprMmRsT29saytDOUFqeDhLdnRLcVlEVlZhWm14?= =?utf-8?B?K09iNnM3cU5YVzUvT2tCZUNJS2k1eU5OSHUzbHlYbXk4UUdLNmpQeXB6LzNt?= =?utf-8?B?V0VFUXhMRy9TS2daaUd0ZXYxQ3VUeUxsWWJodEYwd2ZiZ1ZqblRNdU1td2V1?= =?utf-8?B?TEltWlQ4Rll5THZIaVg5cmt1TE0yRlJNSlJ4SDY0M3h6ZzA2eUhqbVJsVkhC?= =?utf-8?B?TjF2SlAyRm0yRkhmZ1Azdk9CeGRiRjUxSDR6Z0IrMFFQc0EzK3VLbVdMd1Zx?= =?utf-8?B?L2xtaGNwYTMxVVU3ZlRkMUNsTlVCQnVGNXVPQkpKOUxkcXdEeVl0U250RnVz?= =?utf-8?B?enh2VFZMR3lzSG9GcHVGYnlmNTlaTU9qdXlSdUNsVXNkWDlJM3dzZCtNazY0?= =?utf-8?B?a2xRaGI1QXpEcWpYbzladUNrOHB5VldudWdNd013S0ZZMEVYYXM4QVR0YXI0?= =?utf-8?B?cFpUZW1JdUZyNjFMM0tPK1FBeVd5RURuUVJucGRKUTZ2Um40eS9KdnMra096?= =?utf-8?B?ZS9KTVA3dDZzS1hqeHo4WFhNbTVlRmVZZ29LeGlHaFRzUnFhSC93SnJ4dU92?= =?utf-8?B?RVJNUUs5Z1ZGVS9KNTRKMVNkQ3A1VWxDeU92SkNtRTlpREhkVDRncTBENWd0?= =?utf-8?B?NWtZR09mOEpzOXpLdHRCVnN5Y1NNWmdIMDVvQ1dMc0k2WXpIdUJ5UzZ1Nkow?= =?utf-8?B?YldPSm9rM3YzbW0wVUdCLytjMTdhV3ZncWpDWWI5S3VzakNOaUYySUhhU0xs?= =?utf-8?B?NDFxNGYwaXpoQmZGSWpPZlc3ci9GOEZma3REakQwS1kveDNsZnRLcFlrd0VE?= =?utf-8?Q?6Zv7tX5TX7osLKk1psy69vjFahs=3D?= X-Microsoft-Antispam-Message-Info: SnZakJ0Y+Jl2LnY6oU3oj+B6Pj9njJvoVr23W1lcIJwFOnzQSVHSFP7BBP/pgFkM+YVondfzcniEFprgXXCn2gpTc9u00FHnO4nVuJGOwX8z1dCwedqKkR+gpFe83Dyp+g7+J4spcQYTIKol0/FFD+scDEI1U14Tpwlu55mFozPtQH9e8AE6zpL0NkbQOEy/ X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2427; 6:0Au1JcuQfsbABHihVLw63s62NE01CFQEppTg/E5kn2eR61rbxyfOEyAhUmglL6KdOcICaU19RmZIdudB+kXAvKhFS5CeZyqZ/6u4FRIIN3MvIlVwhWU7oDppAFNr8MvyJZZau+9ltEW8eaWknAsDXxPOoUGQpgTwU0U4wfiqpnQRjoWzafdm/oBss6SCd5gHFngX2yxbtW0PI/B/T1LM0MufnIQY14IezjYqc+DXuwJpd8Hk4KM8zzdTHizP4gnAsT1D35fiJtiMxlfbsgeycQC0sdbep85SHqQhImiKOTtDQ7+kD1A038Plam/4/mTMdoSDbJEz9M0XwPtDSv2mzATS4D9u+vawQYIeU3KgZ5zdS0bgDuXZec4+r8q1Au7+dzXDWwWeazH4EirBd1edOETCHS8qK/6icL5vowEF2xbg28ClDDDT8b7Q+k452YE8WeSPM0aYkB7cIMABnFhr5w==; 5:o3rwVl683XPrT33TxRJSbes+uoqsZqwOq6S1drbb4A/QkNT9CTJajfDxkP763udr9AIo3eKp6WWHoIPVSz7LfyS8LTXlNMoyY0oRYg4CjaxhdY/3umX+3sQPYbygtZGysGDDyYApC3xg6hFhVPLJpIeGSkxqL+cb9JqrxLTQnWQ=; 24:0nKDGkkn3Aycg9zjUlqoZls55GMQw5pmZ5cBHvgeh3wTxA8B8yRL1OCU3cMVIVXFfx3tkCQMEC5tAP2Wt/C9K5qOsiI4BAdHCotxHGjp7hg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2427; 7:akjRZLIjWbPKXyi5w85ay5tNG/nt5XgTw9t43cB6OB0SnaXe4F5WB/qvCvhlyx7bc+3IB0O2xgXoK0QAUEXhLfky0ndy/0sbLtVJatUwOasydEHIJIdv2mv2GMN4admJdUCo5HitWOv0io/5aQCjCdyMhUfW+eVoh0rdDMkAGUlFBVhfcgiksBkaBGGKrJwHMv8aAuAFAnlTTz1UgF2muyaLiDWoWvvsLbric1NdUfQwjHwzQMlhT9NGNBL+d+3k X-MS-Office365-Filtering-Correlation-Id: 474d6143-674c-447a-c8de-08d5a6aa552d X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2018 10:34:43.4008 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 474d6143-674c-447a-c8de-08d5a6aa552d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2427 Subject: [dpdk-dev] [PATCH 8/9 v3] doc: add DPAA2 QDMA rawdev guide 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: Fri, 20 Apr 2018 10:34:46 -0000 Signed-off-by: Nipun Gupta --- MAINTAINERS | 1 + doc/guides/index.rst | 1 + doc/guides/rawdevs/dpaa2_qdma.rst | 140 ++++++++++++++++++++++++++++++++++++++ doc/guides/rawdevs/index.rst | 14 ++++ 4 files changed, 156 insertions(+) create mode 100644 doc/guides/rawdevs/dpaa2_qdma.rst create mode 100644 doc/guides/rawdevs/index.rst diff --git a/MAINTAINERS b/MAINTAINERS index dc226d8..d6f9a4e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -779,6 +779,7 @@ Rawdev Drivers NXP DPAA2 QDMA M: Nipun Gupta F: drivers/raw/dpaa2_qdma/ +F: doc/guides/rawdevs/dpaa2_qdma.rst Eventdev Drivers diff --git a/doc/guides/index.rst b/doc/guides/index.rst index d60529d..a93baac 100644 --- a/doc/guides/index.rst +++ b/doc/guides/index.rst @@ -20,6 +20,7 @@ DPDK documentation eventdevs/index mempool/index platform/index + rawdevs/index contributing/index rel_notes/index faq/index diff --git a/doc/guides/rawdevs/dpaa2_qdma.rst b/doc/guides/rawdevs/dpaa2_qdma.rst new file mode 100644 index 0000000..85e4d2d --- /dev/null +++ b/doc/guides/rawdevs/dpaa2_qdma.rst @@ -0,0 +1,140 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright 2018 NXP + +NXP DPAA2 QDMA Driver +===================== + +The DPAA2 QDMA is an implementation of the rawdev API, that provide means +to initiate a DMA transaction from CPU. The initiated DMA is performed +without CPU being involved in the actual DMA transaction. This is achieved +via using the DPDMAI device exposed by MC. + +More information can be found at `NXP Official Website +`_. + +Features +-------- + +The DPAA2 QDMA implements following features in the rawdev API; + +- Supports issuing DMA of data within memory without hogging CPU while + performing DMA operation. +- Supports configuring to optionally get status of the DMA translation on + per DMA operation basis. + +Supported DPAA2 SoCs +-------------------- + +- LS2084A/LS2044A +- LS2088A/LS2048A +- LS1088A/LS1048A + +Prerequisites +------------- + +There are three main pre-requisities for executing DPAA2 QDMA on a DPAA2 +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, DPAA2 QDMA 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 DPAA2 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** + + DPAA2 based resources can be configured easily with the help of ready scripts + as provided in the DPDK Extra repository. + + `DPDK Extras Scripts `_. + +Currently supported by DPDK: + +- NXP SDK **2.0+**. +- MC Firmware version **10.3.0** and higher. +- Supported architectures: **arm64 LE**. + +- Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. + +.. note:: + + Some part of fslmc bus code (mc flib - object library) routines are + dual licensed (BSD & GPLv2). + +Pre-Installation Configuration +------------------------------ + +Config File Options +~~~~~~~~~~~~~~~~~~~ + +The following options can be modified in the ``config`` file. + +- ``CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA`` (default ``y``) + + Toggle compilation of the ``lrte_pmd_dpaa2_qdma`` driver. + +Enabling logs +------------- + +For enabling logs, use the following EAL parameter: + +.. code-block:: console + + ./your_qdma_application --log-level=pmd.raw.dpaa2.qdma, + +Using ``pmd.raw.dpaa2.qdma`` as log matching criteria, all Event PMD logs can be +enabled which are lower than logging ``level``. + +Driver Compilation +~~~~~~~~~~~~~~~~~~ + +To compile the DPAA2 QDMA PMD for Linux arm64 gcc target, run the +following ``make`` command: + +.. code-block:: console + + cd + make config T=arm64-dpaa2-linuxapp-gcc install + +Initialization +-------------- + +The DPAA2 QDMA is exposed as a vdev device which consists of dpdmai devices. +On EAL initialization, dpdmai devices will be probed and populated into the +rawdevices. The rawdev ID of the device can be obtained using + +* Invoking ``rte_rawdev_get_dev_id("dpdmai.x")`` from the application + where x is the object ID of the DPDMAI object created by MC. Use can + use this index for further rawdev function calls. + +Platform Requirement +~~~~~~~~~~~~~~~~~~~~ + +DPAA2 drivers for DPDK can only work on NXP SoCs as listed in the +``Supported DPAA2 SoCs``. diff --git a/doc/guides/rawdevs/index.rst b/doc/guides/rawdevs/index.rst new file mode 100644 index 0000000..29b4f6c --- /dev/null +++ b/doc/guides/rawdevs/index.rst @@ -0,0 +1,14 @@ +.. SPDX-License-Identifier: BSD-3-Clause + Copyright 2018 NXP + +Rawdev Drivers +============== + +The following are a list of raw device PMDs, which can be used from an +application through rawdev API. + +.. toctree:: + :maxdepth: 2 + :numbered: + + dpaa2_qdma -- 1.9.1