[PATCH v2 00/18] add Marvell cn20k SOC support for mempool and net
Jerin Jacob
jerinjacobk at gmail.com
Tue Oct 1 13:01:14 CEST 2024
On Fri, Sep 27, 2024 at 9:19 AM Nithin Dabilpuram
<ndabilpuram at 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
>
> v2:
> - Moved out 15 patches to seperate series
> - Updated release notes
Good to merge next version.
1)Please consider changing release note update as following
+* **Updated Marvell cnxk mempool driver.**
+
+ * Added mempool driver support for CN20K SoC.
+
+* **Updated Marvell cnxk net driver.**
+
+ * Added ethdev driver support for CN20K SoC.
+
2) Please fix following genuine check path issues.
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#109: FILE: drivers/net/cnxk/cn20k_ethdev.c:75:
+ txq->tx_compl.ptr = (struct rte_mbuf **)plt_zmalloc(
WARNING:CONSTANT_COMPARISON: Comparisons should place the constant on
the right side of the test
#183: FILE: drivers/net/cnxk/cn20k_ethdev.c:149:
+ PLT_STATIC_ASSERT(ROC_NIX_INL_SA_BASE_ALIGN == BIT_ULL(16));
WARNING:MACRO_ARG_UNUSED: Argument 'flags' is not used in function-like macro
#341: FILE: drivers/net/cnxk/cn20k_rx.h:219:
+#define NIX_RX_RECV(fn, flags)
\
+ uint16_t __rte_noinline __rte_hot fn(void *rx_queue, struct
rte_mbuf **rx_pkts, \
+ uint16_t pkts)
\
+ {
\
+ RTE_SET_USED(rx_queue);
\
+ RTE_SET_USED(rx_pkts);
\
+ RTE_SET_USED(pkts);
\
+ return 0;
\
+ }
WARNING:MACRO_WITH_FLOW_CONTROL: Macros with flow control statements
should be avoided
#341: FILE: drivers/net/cnxk/cn20k_rx.h:219:
+#define NIX_RX_RECV(fn, flags)
\
+ uint16_t __rte_noinline __rte_hot fn(void *rx_queue, struct
rte_mbuf **rx_pkts, \
+ uint16_t pkts)
\
+ {
\
+ RTE_SET_USED(rx_queue);
\
+ RTE_SET_USED(rx_pkts);
\
+ RTE_SET_USED(pkts);
\
+ return 0;
\
+ }
CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'flags' may be better as
'(flags)' to avoid precedence issues
#351: FILE: drivers/net/cnxk/cn20k_rx.h:229:
+#define NIX_RX_RECV_MSEG(fn, flags) NIX_RX_RECV(fn, flags | NIX_RX_MULTI_SEG_F)
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#1470: FILE: drivers/net/cnxk/rx/cn20k/rx_all_offload.c:27:
+ return cn20k_nix_recv_pkts_vector(
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#1482: FILE: drivers/net/cnxk/rx/cn20k/rx_all_offload.c:39:
+ return cn20k_nix_recv_pkts(
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#1492: FILE: drivers/net/cnxk/rx/cn20k/rx_all_offload.c:49:
+ return cn20k_nix_recv_pkts_vector(
WARNING:MACRO_ARG_UNUSED: Argument 'sz' is not used in function-like macro
#343: FILE: drivers/net/cnxk/cn20k_tx.h:211:
+#define T(name, sz, flags)
\
+ uint16_t __rte_noinline __rte_hot cn20k_nix_xmit_pkts_##name(
\
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_mseg_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_vec_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_vec_mseg_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);
WARNING:MACRO_ARG_UNUSED: Argument 'flags' is not used in function-like macro
#343: FILE: drivers/net/cnxk/cn20k_tx.h:211:
+#define T(name, sz, flags)
\
+ uint16_t __rte_noinline __rte_hot cn20k_nix_xmit_pkts_##name(
\
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_mseg_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_vec_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_vec_mseg_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);
WARNING:TRAILING_SEMICOLON: macros should not use a trailing semicolon
#343: FILE: drivers/net/cnxk/cn20k_tx.h:211:
+#define T(name, sz, flags)
\
+ uint16_t __rte_noinline __rte_hot cn20k_nix_xmit_pkts_##name(
\
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_mseg_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_vec_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t
pkts); \
+ uint16_t __rte_noinline __rte_hot
cn20k_nix_xmit_pkts_vec_mseg_##name( \
+ void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);
WARNING:MACRO_ARG_UNUSED: Argument 'sz' is not used in function-like macro
#356: FILE: drivers/net/cnxk/cn20k_tx.h:224:
+#define NIX_TX_XMIT(fn, sz, flags)
\
+ uint16_t __rte_noinline __rte_hot fn(void *tx_queue, struct
rte_mbuf **tx_pkts, \
+ uint16_t pkts)
\
+ {
\
+ RTE_SET_USED(tx_queue);
\
+ RTE_SET_USED(tx_pkts);
\
+ RTE_SET_USED(pkts);
\
+ return 0;
\
+ }
WARNING:MACRO_ARG_UNUSED: Argument 'flags' is not used in function-like macro
#356: FILE: drivers/net/cnxk/cn20k_tx.h:224:
+#define NIX_TX_XMIT(fn, sz, flags)
\
+ uint16_t __rte_noinline __rte_hot fn(void *tx_queue, struct
rte_mbuf **tx_pkts, \
+ uint16_t pkts)
\
+ {
\
+ RTE_SET_USED(tx_queue);
\
+ RTE_SET_USED(tx_pkts);
\
+ RTE_SET_USED(pkts);
\
+ return 0;
\
+ }
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#1382: FILE: drivers/net/cnxk/tx/cn20k/tx_all_offload.c:18:
+ return cn20k_nix_xmit_pkts_mseg(
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#1395: FILE: drivers/net/cnxk/tx/cn20k/tx_all_offload.c:31:
+ return cn20k_nix_xmit_pkts_vector(
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#145: FILE: drivers/net/cnxk/cn20k_rx.h:547:
+ rte_prefetch0(
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#147: FILE: drivers/net/cnxk/cn20k_rx.h:549:
+ rte_prefetch0(
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#149: FILE: drivers/net/cnxk/cn20k_rx.h:551:
+ rte_prefetch0(
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#151: FILE: drivers/net/cnxk/cn20k_rx.h:553:
+ rte_prefetch0(
total: 0 errors, 0 warnings, 6 checks, 475 lines checked
### [PATCH] net/cnxk: support Tx burst scalar for cn20k
CHECK:OPEN_ENDED_LINE: Lines should not end with a '('
#234: FILE: drivers/net/cnxk/cn20k_tx.h:543:
+ cmd23 = vsetq_lane_u64(
More information about the dev
mailing list