mbox series

[v9,0/8] baseband: add NXP LA12xx driver

Message ID 20211007093315.17384-1-nipun.gupta@nxp.com (mailing list archive)
Headers
Series baseband: add NXP LA12xx driver |

Message

Nipun Gupta Oct. 7, 2021, 9:33 a.m. UTC
  From: Nipun Gupta <nipun.gupta@nxp.com>

This series introduces the BBDEV LA12xx poll mode driver (PMD) to support
an implementation for offloading High Phy processing functions like
LDPC Encode / Decode 5GNR wireless acceleration function, using PCI based
LA12xx Software defined radio.

Please check the documentation patch for more info.

The driver currently implements basic feature to offload only the 5G LDPC
encode/decode.

A new capability has been added to check if the driver can support the
input data in little/big endian byte order.

v2: add test case changes
v3: fix 32 bit compilation
v4: capability for network byte order, doc patch merged inline.
v5: add llr_size and llr_decimals, removed LLR compression flag,
    update testbbdev to handle endianness, rebased on top of 20.08
v6: added BE as device info instead of capability, updated test
    to have 2 codeblocks
v7: fixed checkpatch errors
v8: remove additional test vectors, update reverse_op function name,
    make be_support param as bool, other minor changes in la12xx driver
v9: add little endianness capability as well (patch by Nicolas Chautru),
    fix 32 bit (i386) compilation, fix get of nb_segs, add endianness
    info in testbbdev doc.

Hemant Agrawal (6):
  baseband: introduce NXP LA12xx driver
  baseband/la12xx: add devargs for max queues
  baseband/la12xx: add support for multiple modems
  baseband/la12xx: add queue and modem config support
  baseband/la12xx: add enqueue and dequeue support
  app/bbdev: enable la12xx for bbdev

Nicolas Chautru (1):
  bbdev: add device info related to data endianness assumption

Nipun Gupta (1):
  app/bbdev: handle endianness of test data

 MAINTAINERS                                   |   10 +
 app/test-bbdev/meson.build                    |    3 +
 app/test-bbdev/test_bbdev_perf.c              |   43 +
 doc/guides/bbdevs/features/la12xx.ini         |   13 +
 doc/guides/bbdevs/index.rst                   |    1 +
 doc/guides/bbdevs/la12xx.rst                  |  124 ++
 doc/guides/rel_notes/release_21_11.rst        |    6 +
 doc/guides/tools/testbbdev.rst                |    3 +
 drivers/baseband/acc100/rte_acc100_pmd.c      |    1 +
 .../fpga_5gnr_fec/rte_fpga_5gnr_fec.c         |    1 +
 drivers/baseband/fpga_lte_fec/fpga_lte_fec.c  |    1 +
 drivers/baseband/la12xx/bbdev_la12xx.c        | 1101 +++++++++++++++++
 drivers/baseband/la12xx/bbdev_la12xx.h        |   51 +
 drivers/baseband/la12xx/bbdev_la12xx_ipc.h    |  244 ++++
 .../baseband/la12xx/bbdev_la12xx_pmd_logs.h   |   28 +
 drivers/baseband/la12xx/meson.build           |    6 +
 drivers/baseband/la12xx/version.map           |    3 +
 drivers/baseband/meson.build                  |    1 +
 .../baseband/turbo_sw/bbdev_turbo_software.c  |    1 +
 lib/bbdev/rte_bbdev.h                         |    8 +
 20 files changed, 1649 insertions(+)
 create mode 100644 doc/guides/bbdevs/features/la12xx.ini
 create mode 100644 doc/guides/bbdevs/la12xx.rst
 create mode 100644 drivers/baseband/la12xx/bbdev_la12xx.c
 create mode 100644 drivers/baseband/la12xx/bbdev_la12xx.h
 create mode 100644 drivers/baseband/la12xx/bbdev_la12xx_ipc.h
 create mode 100644 drivers/baseband/la12xx/bbdev_la12xx_pmd_logs.h
 create mode 100644 drivers/baseband/la12xx/meson.build
 create mode 100644 drivers/baseband/la12xx/version.map