From patchwork Sat Apr 7 15:17:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Nipun Gupta X-Patchwork-Id: 37505 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EADBC1C72B; Sat, 7 Apr 2018 21:37:50 +0200 (CEST) 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 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?q?1=3BHE1PR0401MB2425=3B23=3AhS?= =?utf-8?q?OgPwbYnfyNaZRFstzfnCEUYNwNKGEUspHR2X8Hd1wWNsUP32i/pI3DeF?= =?utf-8?q?C3vymZv6DX4LRlNPJeeRdhihIkQMpD3rxweuEzaYZLQUYLbCaxmbXPKB?= =?utf-8?q?sl5U4siBmanR4gKxXH3xpr9RixIU+biofws6haiz4zFd9Z20c+kZ6SrU?= =?utf-8?q?Ahyqo+9v2GeMgeAsc+UDTHqf5+1B+Is1tIfQmf4ESEVQKXByRPteDm5A?= =?utf-8?q?r0jKuXrB9zpDz+rNDCeShcYDKhcmBWXcgQpTbeeqmxZxO9qgZriiRX8d?= =?utf-8?q?ARh9hgeFaSzVfSnTzC+OkmjcwjCRKI+f/nzOMawK+cI4UCOTawH/oiMN?= =?utf-8?q?ur1E24i3/DF2FcZK14oQEB0H7Fs67t/gRnrJnjRG2WQNheeH8zCfqHt6?= =?utf-8?q?EerbGpZ+AQ19WK7boyuGurDwkry8CTFSS0E6Z3JHHqAQNa6n5Hb8MaR3?= =?utf-8?q?70aJpCcxyE+oGk8wnUr326Dx3R9peXUaSpp5yJxSt4dPQimcG6QqlzCn?= =?utf-8?q?PsRL+SjZgNezeME1ajqyxy/nb9vHyXc6oN4DDZufbawWhe8Qx2sTmtlT?= =?utf-8?q?kmiNGhvJuXPZT+0kTWwp1oWiUC+KneeOz/27zq5tCHyop3TDFvUrCjnq?= =?utf-8?q?VxpF9EDbhi2JZbng7xMWznhxBasH4Qr9tSpY192PfADOM1l1R5fwRTET?= =?utf-8?q?wEFz/EcftlqMYADlF9EbN4uPp+erX5F3dKgS06pcAmqws2qZ0UcShTLi?= =?utf-8?q?fI41Ga98iUL1UbEQOoQSRy35wr7K1h4/jidTZKI318jwx47RZjZHXYph?= =?utf-8?q?PF9zaP8omf/YrJDrWI0fXBUrk1NC9OvpqhHJ9Yxsf+m54TrIIuzrRpGA?= =?utf-8?q?MyGZr07VUQfA9GH6w2kFZiwiXSUO1lgSe4n8Gi/if9acCFc6Yb7VJEuF?= =?utf-8?q?bKMe19mllnwk68P0amGFEJ3JfTXP6A/ZYhd9TQlXD6Vhz98e+6mkXe7k?= =?utf-8?q?lJZLf1g17TRpjjsgRXPN4AA6K86MaHg8t3I2eKabksS3eOyyXMg9Km7H?= =?utf-8?q?6nDk2ordVvaCsw1lLmLERneYriGjGp66t0jHLrksfCq7KYSRXOCsvjpw?= =?utf-8?q?oNyCGjtCVikFr7jkX5qEQwQqydQwuXrovOu4PVbvUOtxIJMfUR3AD4KG?= =?utf-8?q?b53VeDRNykmEU97cPYPsMZd3Bg5wDz7v5k456jLDBtF9nVdV2f2H+kCn?= =?utf-8?q?dJ9Q1AyjRAJjyw5dfKPRZleKtNfo5qF4ZDc0Kg5EaSTkDC9tdlACtvrg?= =?utf-8?q?s02MVZGWkUIWWVIjUD/zg+WS+3N5iyWM1oEKuETgoEyS72Fh0ol0gRET?= =?utf-8?q?NWIm2Hyhi90w=3D=3D?= 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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``.