mbox series

[v3,00/18] add Marvell cn20k SOC support for mempool and net

Message ID 20241001124053.3774325-1-ndabilpuram@marvell.com (mailing list archive)
Headers
Series add Marvell cn20k SOC support for mempool and net |

Message

Nithin Dabilpuram Oct. 1, 2024, 12:40 p.m. UTC
This series adds support for Marvell cn20k SOC for mempool and
net PMD's.

This series also adds few net/cnxk PMD updates to expose IPsec
features supported by HW that are very custom in nature and
some enhancements for cn10k.


Ashwin Sekhar T K (4):
  mempool/cnxk: add cn20k PCI device ids
  common/cnxk: accommodate change in aura field width
  common/cnxk: use new NPA aq enq mbox for cn20k
  mempool/cnxk: initialize mempool ops for cn20k

Nithin Dabilpuram (9):
  net/cnxk: add cn20k base control path support
  net/cnxk: support Rx function select for cn20k
  net/cnxk: support Tx function select for cn20k
  net/cnxk: support Rx burst scalar for cn20k
  net/cnxk: support Rx burst vector for cn20k
  net/cnxk: support Tx burst scalar for cn20k
  net/cnxk: support Tx multi-seg in cn20k
  net/cnxk: support Tx burst vector for cn20k
  net/cnxk: support Tx multi-seg in vector for cn20k

Satha Rao (5):
  common/cnxk: add cn20k NIX register definitions
  common/cnxk: support NIX queue config for cn20k
  common/cnxk: support bandwidth profile for cn20k
  common/cnxk: support NIX debug for cn20k
  common/cnxk: add RSS support for cn20k

v3:
- Updated release notes
- Fixed checkpatch issues that are not false positive.

v2:
- Moved out 15 patches to seperate series
- Updated release notes

 doc/guides/rel_notes/release_24_11.rst        |    8 +
 drivers/common/cnxk/cnxk_telemetry_nix.c      |  260 +-
 drivers/common/cnxk/hw/nix.h                  |  524 ++-
 drivers/common/cnxk/hw/npa.h                  |  164 +-
 drivers/common/cnxk/hw/rvu.h                  |    7 +-
 drivers/common/cnxk/roc_mbox.h                |   84 +
 drivers/common/cnxk/roc_nix.c                 |   15 +-
 drivers/common/cnxk/roc_nix_bpf.c             |  528 ++-
 drivers/common/cnxk/roc_nix_debug.c           |  243 +-
 drivers/common/cnxk/roc_nix_fc.c              |  106 +-
 drivers/common/cnxk/roc_nix_inl.c             |    2 +
 drivers/common/cnxk/roc_nix_priv.h            |    4 +-
 drivers/common/cnxk/roc_nix_queue.c           |  638 ++-
 drivers/common/cnxk/roc_nix_rss.c             |   74 +-
 drivers/common/cnxk/roc_nix_stats.c           |   55 +-
 drivers/common/cnxk/roc_nix_tm.c              |   22 +-
 drivers/common/cnxk/roc_nix_tm_ops.c          |   29 +-
 drivers/common/cnxk/roc_npa.c                 |  100 +-
 drivers/common/cnxk/roc_npa.h                 |   24 +-
 drivers/common/cnxk/roc_npa_debug.c           |   17 +-
 drivers/mempool/cnxk/cnxk_mempool.c           |    2 +
 drivers/mempool/cnxk/cnxk_mempool_ops.c       |    2 +-
 drivers/net/cnxk/cn20k_ethdev.c               |  943 +++++
 drivers/net/cnxk/cn20k_ethdev.h               |   15 +
 drivers/net/cnxk/cn20k_rx.h                   | 1100 ++++++
 drivers/net/cnxk/cn20k_rx_select.c            |  160 +
 drivers/net/cnxk/cn20k_rxtx.h                 |  245 ++
 drivers/net/cnxk/cn20k_tx.h                   | 3469 +++++++++++++++++
 drivers/net/cnxk/cn20k_tx_select.c            |  122 +
 drivers/net/cnxk/cnxk_ethdev_dp.h             |    3 +
 drivers/net/cnxk/meson.build                  |   92 +-
 drivers/net/cnxk/rx/cn20k/rx_0_15.c           |   20 +
 drivers/net/cnxk/rx/cn20k/rx_0_15_mseg.c      |   20 +
 drivers/net/cnxk/rx/cn20k/rx_0_15_vec.c       |   20 +
 drivers/net/cnxk/rx/cn20k/rx_0_15_vec_mseg.c  |   20 +
 drivers/net/cnxk/rx/cn20k/rx_112_127.c        |   20 +
 drivers/net/cnxk/rx/cn20k/rx_112_127_mseg.c   |   20 +
 drivers/net/cnxk/rx/cn20k/rx_112_127_vec.c    |   20 +
 .../net/cnxk/rx/cn20k/rx_112_127_vec_mseg.c   |   20 +
 drivers/net/cnxk/rx/cn20k/rx_16_31.c          |   20 +
 drivers/net/cnxk/rx/cn20k/rx_16_31_mseg.c     |   20 +
 drivers/net/cnxk/rx/cn20k/rx_16_31_vec.c      |   20 +
 drivers/net/cnxk/rx/cn20k/rx_16_31_vec_mseg.c |   20 +
 drivers/net/cnxk/rx/cn20k/rx_32_47.c          |   20 +
 drivers/net/cnxk/rx/cn20k/rx_32_47_mseg.c     |   20 +
 drivers/net/cnxk/rx/cn20k/rx_32_47_vec.c      |   20 +
 drivers/net/cnxk/rx/cn20k/rx_32_47_vec_mseg.c |   20 +
 drivers/net/cnxk/rx/cn20k/rx_48_63.c          |   20 +
 drivers/net/cnxk/rx/cn20k/rx_48_63_mseg.c     |   20 +
 drivers/net/cnxk/rx/cn20k/rx_48_63_vec.c      |   20 +
 drivers/net/cnxk/rx/cn20k/rx_48_63_vec_mseg.c |   20 +
 drivers/net/cnxk/rx/cn20k/rx_64_79.c          |   20 +
 drivers/net/cnxk/rx/cn20k/rx_64_79_mseg.c     |   20 +
 drivers/net/cnxk/rx/cn20k/rx_64_79_vec.c      |   20 +
 drivers/net/cnxk/rx/cn20k/rx_64_79_vec_mseg.c |   20 +
 drivers/net/cnxk/rx/cn20k/rx_80_95.c          |   20 +
 drivers/net/cnxk/rx/cn20k/rx_80_95_mseg.c     |   20 +
 drivers/net/cnxk/rx/cn20k/rx_80_95_vec.c      |   20 +
 drivers/net/cnxk/rx/cn20k/rx_80_95_vec_mseg.c |   20 +
 drivers/net/cnxk/rx/cn20k/rx_96_111.c         |   20 +
 drivers/net/cnxk/rx/cn20k/rx_96_111_mseg.c    |   20 +
 drivers/net/cnxk/rx/cn20k/rx_96_111_vec.c     |   20 +
 .../net/cnxk/rx/cn20k/rx_96_111_vec_mseg.c    |   20 +
 drivers/net/cnxk/rx/cn20k/rx_all_offload.c    |   55 +
 drivers/net/cnxk/tx/cn20k/tx_0_15.c           |   18 +
 drivers/net/cnxk/tx/cn20k/tx_0_15_mseg.c      |   18 +
 drivers/net/cnxk/tx/cn20k/tx_0_15_vec.c       |   18 +
 drivers/net/cnxk/tx/cn20k/tx_0_15_vec_mseg.c  |   18 +
 drivers/net/cnxk/tx/cn20k/tx_112_127.c        |   18 +
 drivers/net/cnxk/tx/cn20k/tx_112_127_mseg.c   |   18 +
 drivers/net/cnxk/tx/cn20k/tx_112_127_vec.c    |   18 +
 .../net/cnxk/tx/cn20k/tx_112_127_vec_mseg.c   |   18 +
 drivers/net/cnxk/tx/cn20k/tx_16_31.c          |   18 +
 drivers/net/cnxk/tx/cn20k/tx_16_31_mseg.c     |   18 +
 drivers/net/cnxk/tx/cn20k/tx_16_31_vec.c      |   18 +
 drivers/net/cnxk/tx/cn20k/tx_16_31_vec_mseg.c |   18 +
 drivers/net/cnxk/tx/cn20k/tx_32_47.c          |   18 +
 drivers/net/cnxk/tx/cn20k/tx_32_47_mseg.c     |   18 +
 drivers/net/cnxk/tx/cn20k/tx_32_47_vec.c      |   18 +
 drivers/net/cnxk/tx/cn20k/tx_32_47_vec_mseg.c |   18 +
 drivers/net/cnxk/tx/cn20k/tx_48_63.c          |   18 +
 drivers/net/cnxk/tx/cn20k/tx_48_63_mseg.c     |   18 +
 drivers/net/cnxk/tx/cn20k/tx_48_63_vec.c      |   18 +
 drivers/net/cnxk/tx/cn20k/tx_48_63_vec_mseg.c |   18 +
 drivers/net/cnxk/tx/cn20k/tx_64_79.c          |   18 +
 drivers/net/cnxk/tx/cn20k/tx_64_79_mseg.c     |   18 +
 drivers/net/cnxk/tx/cn20k/tx_64_79_vec.c      |   18 +
 drivers/net/cnxk/tx/cn20k/tx_64_79_vec_mseg.c |   18 +
 drivers/net/cnxk/tx/cn20k/tx_80_95.c          |   18 +
 drivers/net/cnxk/tx/cn20k/tx_80_95_mseg.c     |   18 +
 drivers/net/cnxk/tx/cn20k/tx_80_95_vec.c      |   18 +
 drivers/net/cnxk/tx/cn20k/tx_80_95_vec_mseg.c |   18 +
 drivers/net/cnxk/tx/cn20k/tx_96_111.c         |   18 +
 drivers/net/cnxk/tx/cn20k/tx_96_111_mseg.c    |   18 +
 drivers/net/cnxk/tx/cn20k/tx_96_111_vec.c     |   18 +
 .../net/cnxk/tx/cn20k/tx_96_111_vec_mseg.c    |   18 +
 drivers/net/cnxk/tx/cn20k/tx_all_offload.c    |   37 +
 97 files changed, 9973 insertions(+), 392 deletions(-)
 create mode 100644 drivers/net/cnxk/cn20k_ethdev.c
 create mode 100644 drivers/net/cnxk/cn20k_ethdev.h
 create mode 100644 drivers/net/cnxk/cn20k_rx.h
 create mode 100644 drivers/net/cnxk/cn20k_rx_select.c
 create mode 100644 drivers/net/cnxk/cn20k_rxtx.h
 create mode 100644 drivers/net/cnxk/cn20k_tx.h
 create mode 100644 drivers/net/cnxk/cn20k_tx_select.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_0_15.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_0_15_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_0_15_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_0_15_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_112_127.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_112_127_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_112_127_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_112_127_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_16_31.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_16_31_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_16_31_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_16_31_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_32_47.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_32_47_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_32_47_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_32_47_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_48_63.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_48_63_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_48_63_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_48_63_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_64_79.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_64_79_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_64_79_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_64_79_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_80_95.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_80_95_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_80_95_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_80_95_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_96_111.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_96_111_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_96_111_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_96_111_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn20k/rx_all_offload.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_0_15.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_0_15_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_0_15_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_0_15_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_112_127.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_112_127_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_112_127_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_112_127_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_16_31.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_16_31_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_16_31_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_16_31_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_32_47.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_32_47_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_32_47_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_32_47_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_48_63.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_48_63_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_48_63_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_48_63_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_64_79.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_64_79_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_64_79_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_64_79_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_80_95.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_80_95_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_80_95_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_80_95_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_96_111.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_96_111_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_96_111_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_96_111_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn20k/tx_all_offload.c
  

Comments

Jerin Jacob Oct. 3, 2024, 3:52 p.m. UTC | #1
On Wed, Oct 2, 2024 at 4:49 AM Nithin Dabilpuram
<ndabilpuram@marvell.com> wrote:
>
> This series adds support for Marvell cn20k SOC for mempool and
> net PMD's.
>
> This series also adds few net/cnxk PMD updates to expose IPsec
> features supported by HW that are very custom in nature and
> some enhancements for cn10k.
>
>
> Ashwin Sekhar T K (4):
>   mempool/cnxk: add cn20k PCI device ids
>   common/cnxk: accommodate change in aura field width
>   common/cnxk: use new NPA aq enq mbox for cn20k
>   mempool/cnxk: initialize mempool ops for cn20k
>
> Nithin Dabilpuram (9):
>   net/cnxk: add cn20k base control path support
>   net/cnxk: support Rx function select for cn20k
>   net/cnxk: support Tx function select for cn20k
>   net/cnxk: support Rx burst scalar for cn20k
>   net/cnxk: support Rx burst vector for cn20k
>   net/cnxk: support Tx burst scalar for cn20k
>   net/cnxk: support Tx multi-seg in cn20k
>   net/cnxk: support Tx burst vector for cn20k
>   net/cnxk: support Tx multi-seg in vector for cn20k
>
> Satha Rao (5):
>   common/cnxk: add cn20k NIX register definitions
>   common/cnxk: support NIX queue config for cn20k
>   common/cnxk: support bandwidth profile for cn20k
>   common/cnxk: support NIX debug for cn20k
>   common/cnxk: add RSS support for cn20k


Applied series to dpdk-next-net-mrvl/for-main with following diff. Thanks

[for-main]dell[dpdk-next-net-mrvl] $ git diff
diff --git a/drivers/net/cnxk/cn20k_rx.h b/drivers/net/cnxk/cn20k_rx.h
index d1bf0c615e..01bf483787 100644
--- a/drivers/net/cnxk/cn20k_rx.h
+++ b/drivers/net/cnxk/cn20k_rx.h
@@ -52,9 +52,8 @@
 static inline void
 nix_mbuf_validate_next(struct rte_mbuf *m)
 {
-       if (m->nb_segs == 1 && m->next) {
+       if (m->nb_segs == 1 && m->next)
                rte_panic("mbuf->next[%p] valid when mbuf->nb_segs is
%d", m->next, m->nb_segs);
-       }
 }
 #else
 static inline void
diff --git a/drivers/net/cnxk/cn20k_tx.h b/drivers/net/cnxk/cn20k_tx.h
index bcf7ce6035..c731406529 100644
--- a/drivers/net/cnxk/cn20k_tx.h
+++ b/drivers/net/cnxk/cn20k_tx.h
@@ -2431,7 +2431,7 @@ cn20k_nix_xmit_pkts_vector(void *tx_queue,
uint64_t *ws, struct rte_mbuf **tx_pk
                        senddesc23_w1 = vshlq_n_u64(senddesc23_w1, 1);

                        /* Move OLFLAGS bits 55:52 to 51:48
-                        * with zeros preprended on the byte and rest
+                        * with zeros prepended on the byte and rest
                         * don't care
                         */
                        xtmp128 = vshrq_n_u8(xtmp128, 4);
[for-main]dell[dpdk-next-net-mrvl] $