From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50057.outbound.protection.outlook.com [40.107.5.57]) by dpdk.org (Postfix) with ESMTP id 53B9E7EC0 for ; Fri, 20 Apr 2018 06:05:18 +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=F0ajurZqK7n2ShDt52lFpyfUsaZEl1fy+LJx2xhbuXc=; b=Z8MN+aE7sulAcTetMDaFpnQM/4DlxdYlZcgRkPy1iSRvVzx8YU4faocpKsBDRpzSBHfx2OdtueSOJtQLnWx82AuwXQXK9kYbG02NesEjuRW7LgI/7EXPo9H7BKc6P93OZmr8FohnK4Ij9n1RYLwV/rp9UOGpbVDUx1cwDrUsXz0= 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 DB6PR0401MB2422.eurprd04.prod.outlook.com (2603:10a6:4:4a::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.675.14; Fri, 20 Apr 2018 04:05:16 +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 09:34:21 +0530 Message-Id: <1524197062-1230-9-git-send-email-nipun.gupta@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1524197062-1230-1-git-send-email-nipun.gupta@nxp.com> References: <1523114224-9852-1-git-send-email-nipun.gupta@nxp.com> <1524197062-1230-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: BM1PR01CA0092.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:1::32) To DB6PR0401MB2422.eurprd04.prod.outlook.com (2603:10a6:4:4a::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(48565401081)(2017052603328)(7153060)(7193020); SRVR:DB6PR0401MB2422; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0401MB2422; 3:akXfTgkRFqy6RbNnObedHRVK6mR1iR4qxURSuuTWCDjHKZdpjppCFvmGjDrVYm6d7y4LkeVQRLrNqHF7RHoErtJhAhn5r0E/HugfTspJNlhwUYkyRrE+k37jw+ncikYPd8TYSMOFsF1d3kmP41YLG+ZvD+i+1FxU1AhuqQgt3q1kmI3gsZ8NW/Rt+46xf2GhGzjpltytIuxAt8DS4PCakYwprD13fDrFYTcnq7k628ltoIrEwgE+GtJh1lnvX0Pj; 25:/UGLgDfHiE/QQSH+wccXL1zFBg2Fjb6QHdf8aqDyXRQvxQ2kRovMLDP+piWa5GJKK2e/ig5XUJW0k0mfIZ7/nm98YPB0yywrioaWju5DiXIPYGCgmGGyyzJJ9k63sBBe7V3axRfjDC2zZ3AjfLnYCOlxU7pYT3awcWhLl1yN6aFd814Ms6OZveRhrEyBXsHfcqdoFBdve4zPZTjRLl1BPuLT+pD1cZLBjf6ydX78QdCkRaGc0h6/u1Z/eWho2xzM5qeOKug/YdjpVL7Y/xsa6IUwtuJsYl3xXKFXuXP336ZGCe66M3mFHNpq41k7k/ijJrZK7ptPAERXz7uhC1cLhQ==; 31:QVh1MkjITdfDIaTL3mDhgwfR6IVkhuC8EZl+dZv0///m+v/OWvQnC96S/bk3kkd801uiXyQZwqFuzEwuVIK0bCA+rlkcaK1s4vueE2jQc3P+ZvTUKaK+/3ijetFXcP0qocGUBtaFSsBjaozE63/KnLegGpD7obcnE57qz3iZVk8H9TIXSB399nMUgHryTsw2b8ovogsrfKpNpwhQ5+t9+uAX1oWmdMHzihMVGT/OuSY= X-MS-TrafficTypeDiagnostic: DB6PR0401MB2422: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0401MB2422; 20:7u9dnnuTr4loLzinhK71DY5/MhK4BKXgPInEj6afVRnOy0k76XLv852cc6evVu6m+dsir/ORmR7IMW+OBVgDfUXsQyIsE7Mqw9UQlYhGy8LUxozqgem85sdEr9DU/9U5YbKImGqr5wsjPAT5KBunfSD/LpoGte9h84BdQFcW3th2HS5fFjalLGILrZ8AncqSvlUGQ+V91ESkL5UyapLoDDZCDtvDp0AiWai0aQVSPTN54+O9GeJvaSCbAntWQEKQjGbYgTCzPG0PaNI05nfs8vfyCkZS2HQ7laGIqr2A5COF2vgAvqxoWO/JAod7wsWLC4HoLldGvgf1Bd9M3giRCXW9Yi4u2s48Ef9Tzjr2W+fNZlc8DcTPmZVYBdNXeNr6nIt60VaWzcT1Vcw4tR0nX7ncawE/KcFGHwonrwAjvBm8BFGFLbYuTsVoN9x85sONszTL9aJH79n6mjFlMkFwUGRFHPm1xiJhdCyzyU4cw4UpCN+9k4myPQAseO0LYa1n; 4:2lBWan9/vNkhIZ160G71xdxe8IKbQb6sLu/kOvWYG8WE4SUIAlGQvtQgRbRxOZzRpQC1WqRzw4Wu3YMTxzCyas+Ig3OOoEMl8KdHp4g6uqgn9kca3xbYzGU4YQz0R+ZJqDd9xZqGIxnMsr7yjZOQWeGuTkVR23LXKZAEHqk8qSYwuOZjEojlDr9a8TfcOb65Yckg06Z1frWFsdR3jyZWG7k6jNbR8mSlMkhP7SJk+5wIkeqj+Sm5ZcTf1SMs83823ufv5gG4CR8vTUDCMeRiRjD0B5VGsnL3ZXg1gA+giFkIftNsaOLAxqnq/QCUvdhm2gmH+9HIgPWAnJ/51G92LmKfb0WW07pk2f6l5HQrXK+MYB0R7/6ImjdXqUBuM31R 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)(3002001)(93006095)(93001095)(10201501046)(3231232)(944501327)(52105095)(6055026)(6041310)(20161123564045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011); SRVR:DB6PR0401MB2422; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0401MB2422; X-Forefront-PRVS: 0648FCFFA8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(376002)(39860400002)(39380400002)(396003)(346002)(7736002)(316002)(25786009)(50466002)(76176011)(2870700001)(66066001)(16526019)(47776003)(81166006)(6306002)(8936002)(8676002)(551934003)(6512007)(50226002)(36756003)(52116002)(2906002)(4326008)(476003)(305945005)(6486002)(53936002)(2616005)(6636002)(956004)(6666003)(44832011)(23676004)(386003)(11346002)(3846002)(5660300001)(26005)(6116002)(6506007)(5009440100003)(446003)(478600001)(86362001)(110426005); DIR:OUT; SFP:1101; SCL:1; SRVR:DB6PR0401MB2422; 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?MTtEQjZQUjA0MDFNQjI0MjI7MjM6YjJaU1NWR3VINGk0QVVMTzFRbWxPUVVU?= =?utf-8?B?b2hnZytxMkdIelVEL1BpaVo5eWxFc0NpNURPR2Q2ak1Kb3dxRVF0WlRqejQ4?= =?utf-8?B?NlpNK09wcHFnbS9ORnQ2Vi80S3hoc2p6Kzc1SDhCbWc1Q3NuYkNCNmhjY093?= =?utf-8?B?L3p5Z2lvbUZZendyOVNyZkVGaDNRNVBzVVlHbmYxL3BnUWJjWjBKditOOHJN?= =?utf-8?B?eFpPNXdDbU5BVHBVVi9wUXRMQlNYaXFpOTNQcTRUV0xDSWcxcU1ETkc2M2g2?= =?utf-8?B?SW40U3hyOUpoS0tlamh4dnVFRzNTSk8wTCswcE9aR3hPRkx1ZUQ5MVQzbUI0?= =?utf-8?B?TjB0MFM3aEgvM0tiNmpqU05OKzJUeWhMK2VtcVJOcTdWdTZaWDA4QnRVRVZt?= =?utf-8?B?UXF4VFlWVjh6YTdTYy9tWG9TVjBGYm53NVZCQURCa2xzc2FxR3d1clJZZVo1?= =?utf-8?B?bm9qd3MwaGdzVmhlTFBuTTFUZ0NsVW1EK01UVEVxRGI5WWFXZFhlTkVHd2lq?= =?utf-8?B?MVI5S3BGdytXVTl5OGNFQzFDUmN5THp6b0l4N0llZGtEQUoyNWpsNWZNNXNn?= =?utf-8?B?NDF5S01yd3BrWHV4V2NTRTFjU3pKcDRDSHgwRmp1WUl2TDBrRDF5TnhhY09M?= =?utf-8?B?VDA4Q09MY2g5VWNzQk5YSWJldVBZODNmeGZkUjEvSFo1TlhTSjBLTTVtRU1J?= =?utf-8?B?UmxZdlNyTlRsUU8yTUduNWNmSUc0Ty84MmVwWlhLU08zRCtwSXVTTnVkOGNY?= =?utf-8?B?cVgvMFlPcVU0WUNHMWxrQ0RranZWeUxiSUhPSzB2RmF1YkRDYmtiZWYvS1Fx?= =?utf-8?B?RUd0blRrTU41dXJULzgvR1JlYWt2TWpZTEJTQm9iY21NTHNEZDh3VHdVaXJD?= =?utf-8?B?YUI0OVA3M3loNkFXUUc4QmZGd1E5RWFLL2Y5eTBUSjRYWUp4NWUxdkRNZ2hL?= =?utf-8?B?TXp4cytlbnRuYXhCL2k0WmJ4U1BjamF0Z1FjRFpTVDk2R01lb1dVSWNFREdY?= =?utf-8?B?d0pOOHY4VUZ4OE92c0lhV0FEL2N1QmlvWFlBZzBYeXJwVDF4N1dUYWdlTEJx?= =?utf-8?B?dExUeCtZRVk3OEgzWUIxbWFYWHFMT2ZLMDRkeHRZM2NwNkd2cEF6Tzdsc1pW?= =?utf-8?B?UlRQWmdLNVdDMUFEODl5ZFhWYTZkN1VXeVBZaGZQc1VHTEc1MDRJQUJmTDVU?= =?utf-8?B?b0szREFESHFtVUovVnRiL0J5bTZrd1FrZFRpZ0p5K2pRWXJOT05pMHMxQ2tE?= =?utf-8?B?RTl4K0NQNGphWjU2ZHlRakpCSGpYSVBmd0ZXVmJmTDN1cFNXWThqZGNEdndm?= =?utf-8?B?WXRqZkdsb2FMcCtSTUxXMnJTeXk2M1FPdDQ3Vno5blhSL0p4RmppdDRBQ2hE?= =?utf-8?B?MWR0UUljSzhHS1MyM3YxNTNlSkRSUFhZb0ovT21ZV051U2dJcEt6WXpYZTRC?= =?utf-8?B?UnQ3SUc3M2drUmc4Q0JxeGVvOTNHQ3Vkd2pzTEZPV2NnaW5ROThHaS9zQWNu?= =?utf-8?Q?9tws+/w9KTlBXlntA3mVs7G4xlI=3D?= X-Microsoft-Antispam-Message-Info: G2++4n2XzARONdh45ZUSLLPnSLlVDJPDzhB19DHZzrkKvuBtS6xkc0UVD777NjyVU9CBn1kw73rmYmGnJ7gYnkQbhcA3R47069sr5ruNp05QLLg12o5FaPfA/Ap/bNInW8B/F58VBYeuSrQlltQfHE64+9YxvQFBVJnI1HFiQeY8rQxg7WkR3UblyZPFSe/D X-Microsoft-Exchange-Diagnostics: 1; DB6PR0401MB2422; 6:qcdGnWiFvB4VnX7iH1tOB+jxuFpjVPVwXLYcC2abW0/nY+pnN5DyI8bpO7uVeaooHCsEergBHhJgx38lmnt5jj78bLqQz/oQBds/nWBN1d/zuWr7kVLcCbKrFN4Wd+5Wma9gks+c8JFe4M5XNx0gI8O7FLbbRSGFKylFKo5ftq4avsMVOY1mCXCKEQnvmEyvGxqbgP0xnuwWY+cFFiFawx6d8sMENKV14QRFib4WGuV89vCNpDEfcrxEVQZO3Zi5Eta6il8+rXwondcIO62cAjFG2q1/fB9CQh8sJTC2lzlXwZJLcSNHVJjmQg3VPzVmiSgHQRUsJmNijWktAWAw6zUod1RY8u1r2nCMWslX+UHCDDGHleXwjP6AXtxTCHL72zre4tptIc2sq3flQ64xyXx0HCnV282GeqNfjWYZYwtMeprXTvkqEbKWA8e99YIUzXrpkwDvASaqTXdzweBYQQ==; 5:8XvBaFOQnu4/znvhZiMYOdWRj3YRqX95sasuRaqU1GmlOwDVGit47pyTSFufyS3aMbTanjJSluZHPIdnFLcabeoPgYn/Iz6rxNfUU/O2xYhOZAaiH/TufTd9hDkROrhlqSexDhDOg5Ebl9/Fla4nUnjultHLD2V/V/KtZr0iTE4=; 24:nYRfyk7P0iaq+8EqtJc2PRfO8Dp6FlE/r30gGikycixV4ciUai4lUVsgZQF4mU2FNkywXKRaDiSc+haY27uC54vPulTlOe559B0rmP64OSs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0401MB2422; 7:8qS2MCpUlUG6MyRgyrxxPSlHlBV8NV476gYT66KRSzvufSOja1L+1xiNj4ENyKtSXvB3HQHXFSYZe1NXW3matmVeUHiEjerbmPef4dqYaSel8Oe24c6DhReGKYDwgb5Hii5YNOUJzoBswBuQi8OiV2px2A3/tF9laFio4bixim706Yh1w3+pCHfMSdZYJvELdNtl66yntmmU+EzUw6vdyQLN0iNqz5vPb3mXtu56U4szPOsmFd7MXno7MhtPxSDp X-MS-Office365-Filtering-Correlation-Id: 50221037-f54d-4ff7-6661-08d5a673ed04 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2018 04:05:16.0418 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 50221037-f54d-4ff7-6661-08d5a673ed04 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0401MB2422 Subject: [dpdk-dev] [PATCH 8/9 v2] 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 04:05:18 -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..d460f24 --- /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.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