Documentation should be ideally embedded within the related commits to go hand in hand when feature are being added, not as a separate commit. Other comments below
> -----Original Message----- > From: Hemant Agrawal <hemant.agra...@nxp.com> > Sent: Monday, April 12, 2021 10:17 PM > To: dev@dpdk.org; gak...@marvell.com; Chautru, Nicolas > <nicolas.chau...@intel.com> > Cc: david.march...@redhat.com; Hemant Agrawal > <hemant.agra...@nxp.com>; Nipun Gupta <nipun.gu...@nxp.com> > Subject: [PATCH v3 6/8] baseband/la12xx: add documentation support > > This patch add documentation for LA12xx PMD. > > Signed-off-by: Nipun Gupta <nipun.gu...@nxp.com> > Signed-off-by: Hemant Agrawal <hemant.agra...@nxp.com> > --- > MAINTAINERS | 9 ++ > doc/guides/bbdevs/features/la12xx.ini | 14 +++ > doc/guides/bbdevs/index.rst | 1 + > doc/guides/bbdevs/la12xx.rst | 139 +++++++++++++++++++++++++ > doc/guides/rel_notes/release_21_05.rst | 5 + > 5 files changed, 168 insertions(+) > create mode 100644 doc/guides/bbdevs/features/la12xx.ini > create mode 100644 doc/guides/bbdevs/la12xx.rst > > diff --git a/MAINTAINERS b/MAINTAINERS > index e746ef1d32..24081fceb3 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1289,6 +1289,15 @@ F: doc/guides/rawdevs/ntb.rst > F: examples/ntb/ > F: doc/guides/sample_app_ug/ntb.rst > > +Baseband Drivers > +------------------- > + > +NXP LA12xx > +M: Hemant Agrawal <hemant.agra...@nxp.com> > +M: Nipun Gupta <nipun.gu...@nxp.com> > +F: drivers/baseband/la12xx/ > +F: doc/guides/bbdevs/la12xx.rst > +F: doc/guides/bbdevs/features/la12xx.ini > > Packet processing > ----------------- > diff --git a/doc/guides/bbdevs/features/la12xx.ini > b/doc/guides/bbdevs/features/la12xx.ini > new file mode 100644 > index 0000000000..979d9dd224 > --- /dev/null > +++ b/doc/guides/bbdevs/features/la12xx.ini > @@ -0,0 +1,14 @@ > +; > +; Supported features of the 'la12xx' bbdev driver. > +; > +; Refer to default.ini for the full list of available PMD features. > +; > +[Features] > +Turbo Decoder (4G) = N > +Turbo Encoder (4G) = N > +LDPC Decoder (5G) = Y > +LDPC Encoder (5G) = Y > +LLR/HARQ Compression = N > +External DDR Access = Y What is the external DDR access capability here? This was not exposed in BBDEV. > +HW Accelerated = Y > +BBDEV API = Y > diff --git a/doc/guides/bbdevs/index.rst b/doc/guides/bbdevs/index.rst index > 4445cbd1b0..cedd706fa6 100644 > --- a/doc/guides/bbdevs/index.rst > +++ b/doc/guides/bbdevs/index.rst > @@ -14,3 +14,4 @@ Baseband Device Drivers > fpga_lte_fec > fpga_5gnr_fec > acc100 > + la12xx > diff --git a/doc/guides/bbdevs/la12xx.rst b/doc/guides/bbdevs/la12xx.rst > new file mode 100644 index 0000000000..1cadd6f337 > --- /dev/null > +++ b/doc/guides/bbdevs/la12xx.rst > @@ -0,0 +1,139 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright 2021 NXP > + > +NXP LA12xx Poll Mode Driver > +======================================= > + > +The BBDEV LA12xx poll mode driver (PMD) supports an implementation for > +offloading High Phy processing functions like LDPC Encode / Decode 5GNR > +wireless acceleration function, using PCI based LA12xx Software defined > radio. > + > +More information can be found at `NXP Official Website > +<https://www.nxp.com/products/processors-and-microcontrollers/arm- > processors/layerscape-processors/layerscape-access-la1200-programmable- > baseband-processor:LA1200>`_. > + > +Features > +-------- > + > +LA12xx PMD supports the following features: > + > +- LDPC Encode in the DL > +- LDPC Decode in the UL > +- Maximum of 8 UL queues > +- Maximum of 8 DL queues > +- PCIe Gen-3 x8 Interface > +- MSI-X Capability was not exposed in the commit > + > +LA12xx PMD supports the following BBDEV capabilities: > + > +* For the LDPC encode operation: > + - ``RTE_BBDEV_LDPC_CRC_24B_ATTACH`` : set to attach CRC24B to CB(s) > + - ``RTE_BBDEV_LDPC_RATE_MATCH`` : if set then do not do Rate Match > +bypass mismatch with the code > + > +* For the LDPC decode operation: > + - ``RTE_BBDEV_LDPC_CRC_TYPE_24B_CHECK`` : check CRC24B from CB(s) > + - ``RTE_BBDEV_LDPC_CRC_TYPE_24B_DROP`` : drops CRC24B bits > appended while decoding > + - ``RTE_BBDEV_LDPC_DEC_SCATTER_GATHER`` : supports scatter-gather > +for input/output data > + > +Installation > +------------ > + > +Section 3 of the DPDK manual provides instructions on installing and > compiling DPDK. > + > +DPDK requires hugepages to be configured as detailed in section 2 of the > DPDK manual. > + > +Initialization > +-------------- > + > +The device can be listed on the host console with: > + > + > +Use the following lspci command to get the multiple LA12xx processor > +ids. The device ID of the LA12xx baseband processor is "1c30". > + There is no SRIOV? Single device id? > +.. code-block:: console > + > + sudo lspci -nn > + > +... > +0001:01:00.0 Power PC [0b20]: Freescale Semiconductor Inc Device > +[1957:1c30] ( rev 10) ... > +0002:01:00.0 Power PC [0b20]: Freescale Semiconductor Inc Device > +[1957:1c30] ( rev 10) > + > + > +Prerequisites > +------------- > + > +Currently supported by DPDK: > + > +- NXP LA1224 BSP **1.0+**. > +- NXP LA1224 PCIe Modem card connected to ARM host. > + > +- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to > setup the basic DPDK environment. > + > +* Use dev arg option ``modem=0`` to identify the modem instance for a > +given > + device. This is required only if more than 1 modem cards are attached to > host. > + this is optional and the default value is 0. > + e.g. ``--vdev=baseband_la12xx,modem=0`` > + > +* Use dev arg option ``max_nb_queues=x`` to specify the maximum > number > +of queues > + to be used for communication with offload device i.e. modem. default is > 16. > + e.g. ``--vdev=baseband_la12xx,max_nb_queues=4`` > + > +Enabling logs > +------------- > + > +For enabling logs, use the following EAL parameter: > + > +.. code-block:: console > + > + ./your_bbdev_application <EAL args> --log-level=la12xx:<level> > + > +Using ``bb.la12xx`` as log matching criteria, all Baseband PMD logs can > +be enabled which are lower than logging ``level``. > + > + > +Test Application > +---------------- > + > +BBDEV provides a test application, ``test-bbdev.py`` and range of test > +data for testing the functionality of LA12xx for FEC encode and decode, > +depending on the device capabilities. The test application is located > +under app->test-bbdev folder and has the following options: > + > +.. code-block:: console > + > + "-p", "--testapp-path": specifies path to the bbdev test app. > + "-e", "--eal-params" : EAL arguments which are passed to the test > app. > + "-t", "--timeout" : Timeout in seconds (default=300). > + "-c", "--test-cases" : Defines test cases to run. Run all if not > specified. > + "-v", "--test-vector" : Test vector path (default=dpdk_path+/app/test- > bbdev/test_vectors/bbdev_null.data). > + "-n", "--num-ops" : Number of operations to process on device > (default=32). > + "-b", "--burst-size" : Operations enqueue/dequeue burst size > (default=32). > + "-s", "--snr" : SNR in dB used when generating LLRs for bler > tests. > + "-s", "--iter_max" : Number of iterations for LDPC decoder. > + "-l", "--num-lcores" : Number of lcores to run (default=16). > + "-i", "--init-device" : Initialise PF device with default values. > + > + > +To execute the test application tool using simple decode or encode > +data, type one of the following: > + > +.. code-block:: console > + > + ./test-bbdev.py > + -e="--vdev=baseband_la12xx,socket_id=0,max_nb_queues=8" -c validation > + -n 64 -b 1 -v ./ldpc_dec_default.data ./test-bbdev.py > + -e="--vdev=baseband_la12xx,socket_id=0,max_nb_queues=8" -c validation > + -n 64 -b 1 -v ./ldpc_enc_default.data > + > +The test application ``test-bbdev.py``, supports the ability to > +configure the PF device with a default set of values, if the "-i" or "- > +-init-device" option is included. The default values are defined in > test_bbdev_perf.c. > + > + > +Test Vectors > +~~~~~~~~~~~~ > + > +In addition to the simple LDPC decoder and LDPC encoder tests, bbdev > +also provides a range of additional tests under the test_vectors > +folder, which may be useful. The results of these tests will depend on > +the LA12xx FEC capabilities which may cause some testcases to be skipped, > but no failure should be reported. > diff --git a/doc/guides/rel_notes/release_21_05.rst > b/doc/guides/rel_notes/release_21_05.rst > index 6f5858c8f6..61797e2a43 100644 > --- a/doc/guides/rel_notes/release_21_05.rst > +++ b/doc/guides/rel_notes/release_21_05.rst > @@ -130,6 +130,11 @@ New Features > * Added command to display Rx queue used descriptor count. > ``show port (port_id) rxq (queue_id) desc used count`` > > +* **Added NXP LA12xx baseband PMD.** > + > + Added a new baseband PMD driver for NXP LA12xx Software defined > radio. > + > + See the :doc:`../bbdevs/la12xx` for more details. > > Removed Items > ------------- > -- > 2.17.1