X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fnics%2Fdpaa2.rst;h=ca6ba5b5e2910b4a2978e4d9fd4ccccfce15c311;hb=1736219b3c5737c943620c22121b361e35b18d0d;hp=85d26503f3251748684015bdf21ab558ccbb7932;hpb=a017313980787cb3e0ed6029011a6274512ee239;p=dpdk.git diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst index 85d26503f3..ca6ba5b5e2 100644 --- a/doc/guides/nics/dpaa2.rst +++ b/doc/guides/nics/dpaa2.rst @@ -1,5 +1,5 @@ .. SPDX-License-Identifier: BSD-3-Clause - Copyright 2016 NXP + Copyright 2016,2020 NXP DPAA2 Poll Mode Driver @@ -300,7 +300,7 @@ The diagram below shows the dpaa2 drivers involved in a networking scenario and the objects bound to each driver. A brief description of each driver follows. -.. code-block: console +.. code-block:: console +------------+ @@ -379,7 +379,7 @@ active -- Ethernet, crypto, compression, etc. DPBP based Mempool driver ~~~~~~~~~~~~~~~~~~~~~~~~~ -The DPBP driver is bound to a DPBP objects and provides sevices to +The DPBP driver is bound to a DPBP objects and provides services to create a hardware offloaded packet buffer mempool. DPAA2 NIC Driver @@ -409,8 +409,7 @@ Features of the DPAA2 PMD are: Supported DPAA2 SoCs -------------------- - -- LS2080A/LS2040A +- LX2160A - LS2084A/LS2044A - LS2088A/LS2048A - LS1088A/LS1048A @@ -418,52 +417,12 @@ Supported DPAA2 SoCs Prerequisites ------------- -There are three main pre-requisities for executing DPAA2 PMD 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 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 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 `_. +See :doc:`../platform/dpaa2` for setup information Currently supported by DPDK: -- NXP SDK **17.08+**. -- MC Firmware version **10.3.1** and higher. +- NXP LSDK **19.08+**. +- MC Firmware version **10.18.0** and higher. - Supported architectures: **arm64 LE**. - Follow the DPDK :ref:`Getting Started Guide for Linux ` to setup the basic DPDK environment. @@ -482,21 +441,19 @@ 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_FSLMC_BUS`` (default ``n``) +- ``CONFIG_RTE_LIBRTE_FSLMC_BUS`` (default ``y``) - By default it is enabled only for defconfig_arm64-dpaa2-* config. Toggle compilation of the ``librte_bus_fslmc`` driver. -- ``CONFIG_RTE_LIBRTE_DPAA2_PMD`` (default ``n``) +- ``CONFIG_RTE_LIBRTE_DPAA2_PMD`` (default ``y``) - By default it is enabled only for defconfig_arm64-dpaa2-* config. Toggle compilation of the ``librte_pmd_dpaa2`` driver. - ``CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER`` (default ``n``) Toggle display of debugging messages/logic -- ``CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA`` (default ``y``) +- ``CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA`` (default ``n``) Toggle to use physical address vs virtual address for hardware accelerators. @@ -540,6 +497,15 @@ for details. Done testpmd> + +* Use dev arg option ``drv_loopback=1`` to loopback packets at + driver level. Any packet received will be reflected back by the + driver on same port. e.g. ``fslmc:dpni.1,drv_loopback=1`` + +* Use dev arg option ``drv_no_prefetch=1`` to disable prefetching + of the packet pull command which is issued in the previous cycle. + e.g. ``fslmc:dpni.1,drv_no_prefetch=1`` + Enabling logs ------------- @@ -558,9 +524,33 @@ which are lower than logging ``level``. --log-level=pmd.net.dpaa2: -- ... -Using ``pmd.dpaa2`` as log matching criteria, all PMD logs can be enabled +Using ``pmd.net.dpaa2`` as log matching criteria, all PMD logs can be enabled which are lower than logging ``level``. +Whitelisting & Blacklisting +--------------------------- + +For blacklisting a DPAA2 device, following commands can be used. + + .. code-block:: console + + -b "fslmc:dpni.x" -- ... + +Where x is the device object id as configured in resource container. + +Running secondary debug app without blacklist +--------------------------------------------- + +dpaa2 hardware imposes limits on some H/W access devices like Management +Control Port and H/W portal. This causes issue in their shared usages in +case of multi-process applications. It can overcome by using +whitelist/blacklist in primary and secondary applications. + +In order to ease usage of standard debugging apps like dpdk-procinfo, dpaa2 +driver reserves extra Management Control Port and H/W portal which can be +used by debug application to debug any existing application without +blacklisting these devices in primary process. + Limitations ----------- @@ -582,4 +572,3 @@ Other Limitations - RSS hash key cannot be modified. - RSS RETA cannot be configured. -- Secondary process packet I/O is not supported.