From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0066.outbound.protection.outlook.com [104.47.0.66]) by dpdk.org (Postfix) with ESMTP id 6CB101CA6A for ; Sat, 7 Apr 2018 17:17:49 +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=Ut0wbOE/CltuDZZtC3VF1svHUq5A3OOOiX5GGsn8Buk=; b=q//JBNsx6yMU8QgGeDBQDDsblZpmmlhcywH0dJ+niNMWPpEO95fHIKUT85qmTigfLWi5Bd3CPgyhC4AJ6NjTBWJHURqcy7lGvhoQ2PaVL2irp7l+XUwIU0adKuHFqw/57bcpKqsYsoCFnTvEsObQO3tsG0OdD+RQxRV8/zRmeTM= 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 HE1PR0401MB2425.eurprd04.prod.outlook.com (2603:10a6:3:25::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.631.10; Sat, 7 Apr 2018 15:17:45 +0000 From: Nipun Gupta To: thomas@monjalon.net, hemant.agrawal@nxp.com, shreyansh.jain@nxp.com Cc: dev@dpdk.org, Nipun Gupta Date: Sat, 7 Apr 2018 20:47:03 +0530 Message-Id: <1523114224-9852-8-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1523114224-9852-1-git-send-email-nipun.gupta@nxp.com> References: <1523114224-9852-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: BM1PR0101CA0058.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:19::20) To HE1PR0401MB2425.eurprd04.prod.outlook.com (2603:10a6:3:25::22) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5c00391d-19ba-4904-b7ca-08d59c9ab81a X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(48565401081)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:HE1PR0401MB2425; X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2425; 3:3bOR/+TFH+DfLAAODtrhM/wnzGLJKYrI2zC/MLNquKo1mTOi4lslwWyy/VW4sla8fsYNt58VklQKsm3kFxWb9ZI2gP/FZD/pr+58NcCaYKX1yquUL330DTHs2r3mmRmo8gipBjr+d5JHu1HCiI1UgtfefRpdF/eZuss79UeiZkDxWrYi6EoCwsjde2fp+gA0P6LW5Ufae4tNVOek/7SiTwuY0ZLa1+9RJiAqHfUJZ+jPrgQ+4WcdTyIiSp8B9HKc; 25:OI98vipUTXnwSQklAPz+41jk+AycL/Siz8V0i1C6V8krhxU8eZBdRW59L1VMnPlHD+r+xeQ7p2GFElrQd6F8amaUE1yz9hCBG8Bdvg/TylmtutoTdPnk4Dy9xG0SOSle4LWL0KrYU8dR7idCknuKBp1sRJxfi3ij7tABp2irUClFQD628OxswLZIpuFRBKN4KcGddDQeZ9MrWLm5DlaNfIZXIRRsAA1Im85QCJGCJ2pi2lcE/09JAtbtbwG6bpWCSsuXOT4dJnKVFDcC+5kXnbjwTbeHm6CRQ6oefNIQr8DcN3cCl+1iu23KB8LrFI+oLDgHB+hViCW8igLSFi5Ejw==; 31:S+R03D8P6CDi0EVu44ddcaN3TQgH2mwz79p4LhIOdKJruILI9av21MirV0aNNNu9vG5dSqwoOLUlzmHKVyPccC+91u/ndXsTuoYqgeW4Aqdjr5nR80AGFe/8WPhSRfhH1X+51hgOXxgMV9lvFJCZD1GrIFgtX5V0NLFn17H44CwTyVkbPiWjaYf8/PFWKVopEJxyAtLm0znNnEdyfnJPDl0XjxwmqgrjR0KI6PV3QaY= X-MS-TrafficTypeDiagnostic: HE1PR0401MB2425: X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2425; 20:MWw0wIMwEmrLC6vrqfHL3hH8t1kWzapNnyfTPChp3sz+/BeIpWLi+VHF6zA9YqIVpJL9lDsE3gu0RYRqNhAQ3/+lFVPz0CJfcg/FqJWvRnSsSmh3HbO/IVcrJpouKH+Ca5fyaERhbJwNa75RFxes1WafSrx3TLYW53boKv8OMHkvjy2V1VLG5zIv6EEon1INg36cXQm/sPAtTPHoLFiqjOOlMt6RLV8PcmRHzCPC2UXarJIp+5g5v4VEqyW7wMlE3HTWF4AhGzGllUEz4HPDPZgcuv/8aER+YQGzjSmKy/0qXPbk8qjzgHsRVAM6zuUjMMDv9xlH3PN8vZOqIeRNpXX19STWXjyv+7OeVvPxTLR9a7xaLiYKRUrwRL0IxckbAaNrXc3PLb8X35LZovjLmo4MgTwCfBpqgBfXbKeEmNs4Regp6sZR1E2dYp5Ic+OUMqNYCOz71pwDtBbal4aiJa2Fa76WIH4dfBDr9lxC11QNbioV5gxf/lPBzwEaBRHC; 4:BOV2W8lJgwHu6VMxXnWh0ox2IDmkiyZ9dnDDMOefZP6J+YKj/xj6hdkBT45A9EqDvAs1bEbqmY+STddOIAUNL/mv1laMeOxdReH9YZf3Dqz5ggp1iZDOTMvl2C2BAPB0nLQ3EhSv22PK+ErGRhkFjg2Pc46zJeb9+Jk6SaUT65g9brlyaYOIlhjjbYTBtEe5MFspd673o16jENwQKbbkIK9B9BeJ2c0yT7aZO0Hz6ZZITdfCtqQX+87gUzZPAnI1eWUAjKoGzmLBSxaYQS3swS/255eZLor0AKjIB/WVjwDWvYk1YIy70r7aarrDSZ9/xBxuAqU1qmM41cTj5gVONrY66gJx57ZlKyJyLPjIvfw/63P0f/jMY6h+++FLpDIv 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)(8121501046)(5005006)(3231221)(944501327)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041310)(20161123562045)(20161123560045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:HE1PR0401MB2425; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0401MB2425; X-Forefront-PRVS: 0635D5275E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(39380400002)(376002)(39860400002)(366004)(396003)(346002)(199004)(189003)(6306002)(2616005)(36756003)(6506007)(52116002)(23676004)(6512007)(4326008)(478600001)(50226002)(66066001)(76176011)(386003)(8936002)(50466002)(97736004)(6116002)(5660300001)(6666003)(551934003)(2870700001)(86362001)(7736002)(305945005)(47776003)(6636002)(3846002)(5009440100003)(16526019)(316002)(81166006)(106356001)(53936002)(55236004)(68736007)(26005)(8676002)(25786009)(6486002)(186003)(2906002)(81156014)(486006)(446003)(476003)(105586002)(956004)(11346002)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0401MB2425; H:b27504-OptiPlex-790.ap.freescale.net; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; Received-SPF: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA0MDFNQjI0MjU7MjM6aFNPZ1B3YlluZnlOYVpSRnN0emZuQ0VV?= =?utf-8?B?WU53TktHRVVzcEhSMlg4SGQxd1dOc1VQMzJpL3BJM0RlRkMzdnltWnY2RFg0?= =?utf-8?B?TFJsTlBKZWVSZGhpaElrUU1wRDNyeHdldUV6YVlaTFFVWUxiQ2F4bWJYUEtC?= =?utf-8?B?c2w1VTRzaUJtYW5SNGdLeFhIM3hwcjlSaXhJVStiaW9md3M2aGFpejR6RmQ5?= =?utf-8?B?WjIwYytrWjZTclVBaHlxbys5djJHZU1nZUFzYytVRFRIcWY1KzFCK0lzMXRJ?= =?utf-8?B?ZlFtZjRFU0VWUUtYQnlSUHRlRG01QXIwakt1WHJCOXpwRHorck5EQ2VTaGNZ?= =?utf-8?B?REtoY21CV1hjZ1FwVGJlZXFteFp4TzlxZ1pyaWlSWDhkQVJoOWhnZUZhU3pW?= =?utf-8?B?ZlNuVHpDK09rbWpjd2pDUktJK2YvbnpPTWF3SytjSTRVQ09UYXdIL29pTU51?= =?utf-8?B?cjFFMjRpMy9ERjJGY1pLMTRvUUVCMEg3RnM2N3QvZ1JuckpualJHMldRTmhl?= =?utf-8?B?ZUg4ekNmcUh0NkVlcmJHcForQVExOVdLN2JveXVHdXJEd2tyeThDVEZTUzBF?= =?utf-8?B?NlozSkhIcUFRTmE2bjVIYjhNYVIzNzBhSnBDY3h5RStvR2s4d25VcjMyNkR4?= =?utf-8?B?M1I5cGVYVWFTcHA1eUp4U3Q0ZFBRaW1jRzZRcWx6Q25Qc1JMK1NqWmdOZXpl?= =?utf-8?B?TUUxYWpxeXh5L25iOXZIeVhjNm9ONEREWnVmYmF3V2hlOFF4MnNUbXRsVGtt?= =?utf-8?B?aU5HaHZKdVhQWlQrMGtUV3dwMW9XaVVDK0tuZWVPei8yN3pxNXRDSHlvcDNU?= =?utf-8?B?REZ2VXJDam5xVnhwRjlFRGJoaTJKWmJuZzd4TVd6bmh4QmFzSDRRcjl0U3BZ?= =?utf-8?B?MTkyUGZBRE9NMWwxUjVmd1JURVR3RUZ6L0VjZnRscU1ZQURsRjlFYk40dVBw?= =?utf-8?B?K2VyWDVGM2RLZ1MwNnBjQW1xd3MycVowVWNTaFRMaWZJNDFHYTk4aVVMMVVi?= =?utf-8?B?RVFPb1FTUnkzNXdyN0sxaDQvamlkVFpLSTMxOGp3eDQ3UlpqWkhYWXBoUEY5?= =?utf-8?B?emFQOG9tZi9ZckpEcldJMGZYQlVyazFOQzlPdnBxaEhKOVl4c2YrbTU0VHJJ?= =?utf-8?B?SXV6clJwR0FNeUdacjA3VlVRZkE5R0g2dzJrRlppd2lYU1VPMWxnU2U0bjhH?= =?utf-8?B?aS9pZjlhY0NGYzZZYjdWSkV1RmJLTWUxOW1sbG53azY4UDBhbUdGRUozSmZU?= =?utf-8?B?WFA2QS9aWWhkOVRRbFhENlZoejk4ZSs2bWtYZTdrbEpaTGYxZzE3VFJwampz?= =?utf-8?B?Z1JYUE40QUE2Szg2TWFIZzh0M0kyZUthYmtzUzNlT3l5WE1nOUttN0g2bkRr?= =?utf-8?B?Mm9yZFZ2YUNzdzFsTG1MRVJuZVlyaUdqR3A2NnQwakhMcmtzZkNxN0tZU1JY?= =?utf-8?B?T0Nzdmpwd29OeUNHanRDVmlrRnI3amtYNXFFUXdRcXlkUXd1WHJvdk91NFBW?= =?utf-8?B?YnZVT3R4SUpNZlVSM0FENEtHYjUzVmVEUk55a21FVTk3Y1BZUHNNWmQzQmc1?= =?utf-8?B?d0R6N3Y1azQ1NmpMREJ0RjluVmRWMmYySCtrQ25kSjlRMUF5alJBSmp5dzVk?= =?utf-8?B?ZktQUlpsZUt0TmZvNXFGNFpEYzBLZzVFYVNUa0RDOXRkbEFDdHZyZ3MwMk1W?= =?utf-8?B?WkdXa1VJV1dWSWpVRC96ZytXUyszTjVpeVdNMW9FS3VFVGdvRXlTNzJGaDBv?= =?utf-8?B?bDBnUkVUTldJbTJIeWhpOTB3PT0=?= X-Microsoft-Antispam-Message-Info: OgMgBq+/2HELFeoaPdcMS0HRy/QgA1AxmQxSOb4B2JRCwXx1Yksju8P5h/x1ErdZuJ83DGkdw980+nwaAzueSkr/Ty0yZ9cJK8MASqcTa1vVq4QiUaM0+bfmsOl8+lRSQo36Odf1e1VabCZqi0/jKffDLw5CaqFBZlHPkYL5kZdkNshUlmKFJ8SHH3wCx73z X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2425; 6:Pp42lfq36aijMJDutRhTztJ4sqTD2NAb3KNz1AZxgu5T+DnTkzlyN6Rw+z9h6bpCXTq1KF1jLSzU7VmEa/L48b8fAMVEsvrjS9P5GTHrg5xe7tW54rFTvatMraIz9CUnqDuzhY+D6Ljke38spG256pk1H1IFxxeMnOycx/ZPCr9lyFHFL4eFtWuWoVHwAP39hib3HU4A9CuyP2LLVRXQIlrVQNc6GR3jOSHPuI31bfcZ5ApM210gAtv4nUik/kU7Gd7vtgeuCEbNaTK/3AeMldMdKnnN2Z8TM9Z3QJeoBIuhtc1fSDi9w0W8YxMKQ1Ge1WgZHcnevRBYhX9KY3QWQhU0Phbht/FGCHPKb1zrhWtwA+T/DyMdcyp0us5ZtVcPex+cyNLHJcjmw3Z6kGtkDXijVF/PAAgAqz643YvddU/WrDGVSJ5ANBbriZZ1/otc63+mnDbHGSvBFQQ++u/UqQ==; 5:0/INw4eCev9Hg1IQyCdFzmDw2+DW8EsHt2JHvhuJ9mrs33Ekz4IAEZQGKx3S3aU/hShBBhWQscQYlf5sn5XfzZ10NC6m7D2IONmsLjo+4+JIpuBNlF6v+yQa1KuGCuWWxiGlGXbrgHsY857AXv5GWXNfoh5JeqkEbxW2OeN9AjY=; 24:mv4FT5iKGg4kPJN3YhL728D+NDvUbcoQBdy8471j1G0LIkN+ocUg9Ik+bW6PMRs0d7DFJvFNtzft45MLpvOm/G65pVIbLIFDgCbsT5AwfIM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HE1PR0401MB2425; 7:wA24Y87thDxhdiQu5EgSdQ9ol0Yi55ElHHoIpEOgt+jPhUZWwiPo35uAICKrOvPLOxcWz6QqoSLpURjp8SXxxJYjnVAq/koFtFiGn/2nE00okBhhSVP8nQuMb8C6wOBC23AOGErj6UVCiUhuGLnA8wZy59YvuyTzC2QrqaJEUyF/bJ2NjwhZOrxgScsGqADkupVvol0tVJHBNtXETpVIrxpA+XjcBqF1Skex4029/h2c2+KAXuC9H5rlXkJxS4oU X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Apr 2018 15:17:45.7011 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5c00391d-19ba-4904-b7ca-08d59c9ab81a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0401MB2425 Subject: [dpdk-dev] [PATCH 7/8] 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: Sat, 07 Apr 2018 15:17:49 -0000 Signed-off-by: Nipun Gupta --- MAINTAINERS | 1 + doc/guides/rawdevs/dpaa2_qdma.rst | 140 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 doc/guides/rawdevs/dpaa2_qdma.rst diff --git a/MAINTAINERS b/MAINTAINERS index fccf5bb..6eb6d98 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -775,6 +775,7 @@ F: doc/guides/eventdevs/opdl.rst DPAA2 QDMA M: Nipun Gupta F: drivers/raw/dpaa2_qdma/ +F: doc/guides/rawdevs/dpaa2_qdma.rst Packet processing diff --git a/doc/guides/rawdevs/dpaa2_qdma.rst b/doc/guides/rawdevs/dpaa2_qdma.rst new file mode 100644 index 0000000..211b716 --- /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.0.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.dpaa2.qdma, + +Using ``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``. -- 1.9.1