* |WARNING| pw108339-108341 [PATCH] [v2, 3/3] common/cnxk: check SQ node before setting bp config
@ 2022-02-25 5:18 dpdklab
0 siblings, 0 replies; only message in thread
From: dpdklab @ 2022-02-25 5:18 UTC (permalink / raw)
To: test-report; +Cc: dpdk-test-reports
[-- Attachment #1: Type: text/plain, Size: 13923 bytes --]
Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/108339
_apply patch failure_
Submitter: Satha Koteswara Rao Kottidi <skoteshwar@marvell.com>
Date: Friday, February 25 2022 04:59:26
Applied on: CommitID:ee05a93e1e6633d0fdec409faf09f12a2e05b991
Apply patch set 108339-108341 failed:
Checking patch drivers/common/cnxk/meson.build...
Hunk #1 succeeded at 43 (offset -1 lines).
Checking patch drivers/common/cnxk/roc_nix.h...
Hunk #1 succeeded at 551 (offset -19 lines).
error: while searching for:
int __roc_api roc_nix_tm_pfc_prepare_tree(struct roc_nix *roc_nix);
bool __roc_api roc_nix_tm_is_user_hierarchy_enabled(struct roc_nix *nix);
int __roc_api roc_nix_tm_tree_type_get(struct roc_nix *nix);
/* Ingress Policer API */
int __roc_api roc_nix_bpf_timeunit_get(struct roc_nix *roc_nix,
error: patch failed: drivers/common/cnxk/roc_nix.h:646
Checking patch drivers/common/cnxk/roc_nix_priv.h...
error: while searching for:
#define NIX_TM_CHAN_INVALID UINT16_MAX
/* TM flags */
#define NIX_TM_HIERARCHY_ENA BIT_ULL(0)
#define NIX_TM_TL1_NO_SP BIT_ULL(1)
#define NIX_TM_TL1_ACCESS BIT_ULL(2)
struct nix_tm_tb {
/** Token bucket rate (bytes per second) */
error: patch failed: drivers/common/cnxk/roc_nix_priv.h:36
Hunk #2 succeeded at 166 (offset -17 lines).
error: while searching for:
int nix_tm_bp_config_set(struct roc_nix *roc_nix, uint16_t sq, uint16_t tc,
bool enable);
void nix_rq_vwqe_flush(struct roc_nix_rq *rq, uint16_t vwqe_interval);
/*
* TM priv utils.
error: patch failed: drivers/common/cnxk/roc_nix_priv.h:386
Checking patch drivers/common/cnxk/roc_nix_tm.c...
Hunk #1 succeeded at 1531 (offset -161 lines).
Checking patch drivers/common/cnxk/roc_nix_tm_mark.c...
Checking patch drivers/common/cnxk/version.map...
Hunk #1 succeeded at 250 (offset -6 lines).
Applied patch drivers/common/cnxk/meson.build cleanly.
Applying patch drivers/common/cnxk/roc_nix.h with 1 reject...
Hunk #1 applied cleanly.
Rejected hunk #2.
Applying patch drivers/common/cnxk/roc_nix_priv.h with 2 rejects...
Rejected hunk #1.
Hunk #2 applied cleanly.
Rejected hunk #3.
Applied patch drivers/common/cnxk/roc_nix_tm.c cleanly.
Applied patch drivers/common/cnxk/roc_nix_tm_mark.c cleanly.
Applied patch drivers/common/cnxk/version.map cleanly.
diff a/drivers/common/cnxk/roc_nix.h b/drivers/common/cnxk/roc_nix.h (rejected hunks)
@@ -646,6 +662,11 @@ int __roc_api roc_nix_tm_node_name_get(struct roc_nix *roc_nix,
int __roc_api roc_nix_tm_pfc_prepare_tree(struct roc_nix *roc_nix);
bool __roc_api roc_nix_tm_is_user_hierarchy_enabled(struct roc_nix *nix);
int __roc_api roc_nix_tm_tree_type_get(struct roc_nix *nix);
+int __roc_api roc_nix_tm_mark_config(struct roc_nix *roc_nix,
+ enum roc_nix_tm_mark type, int mark_yellow,
+ int mark_red);
+uint64_t __roc_api roc_nix_tm_mark_format_get(struct roc_nix *roc_nix,
+ uint64_t *flags);
/* Ingress Policer API */
int __roc_api roc_nix_bpf_timeunit_get(struct roc_nix *roc_nix,
diff a/drivers/common/cnxk/roc_nix_priv.h b/drivers/common/cnxk/roc_nix_priv.h (rejected hunks)
@@ -36,9 +36,22 @@ struct nix_qint {
#define NIX_TM_CHAN_INVALID UINT16_MAX
/* TM flags */
-#define NIX_TM_HIERARCHY_ENA BIT_ULL(0)
-#define NIX_TM_TL1_NO_SP BIT_ULL(1)
-#define NIX_TM_TL1_ACCESS BIT_ULL(2)
+#define NIX_TM_HIERARCHY_ENA BIT_ULL(0)
+#define NIX_TM_TL1_NO_SP BIT_ULL(1)
+#define NIX_TM_TL1_ACCESS BIT_ULL(2)
+#define NIX_TM_MARK_VLAN_DEI_EN BIT_ULL(3)
+#define NIX_TM_MARK_IP_DSCP_EN BIT_ULL(4)
+#define NIX_TM_MARK_IP_ECN_EN BIT_ULL(5)
+
+#define NIX_TM_MARK_EN_MASK \
+ (NIX_TM_MARK_IP_DSCP_EN | NIX_TM_MARK_IP_ECN_EN | \
+ NIX_TM_MARK_VLAN_DEI_EN)
+
+#define NIX_TM_MARK_VLAN_DEI_SHIFT 0 /* Leave 16b for VLAN for FP logic */
+#define NIX_TM_MARK_IPV4_DSCP_SHIFT 16
+#define NIX_TM_MARK_IPV6_DSCP_SHIFT 24
+#define NIX_TM_MARK_IPV4_ECN_SHIFT 32
+#define NIX_TM_MARK_IPV6_ECN_SHIFT 40
struct nix_tm_tb {
/** Token bucket rate (bytes per second) */
@@ -386,6 +402,7 @@ int nix_rq_cfg(struct dev *dev, struct roc_nix_rq *rq, uint16_t qints, bool cfg,
int nix_tm_bp_config_set(struct roc_nix *roc_nix, uint16_t sq, uint16_t tc,
bool enable);
void nix_rq_vwqe_flush(struct roc_nix_rq *rq, uint16_t vwqe_interval);
+int nix_tm_mark_init(struct nix *nix);
/*
* TM priv utils.
Checking patch drivers/event/cnxk/cn10k_worker.h...
Hunk #1 succeeded at 490 (offset -57 lines).
Checking patch drivers/event/cnxk/cn9k_worker.h...
Hunk #1 succeeded at 764 (offset 2 lines).
Checking patch drivers/net/cnxk/cn10k_ethdev.c...
Hunk #1 succeeded at 107 (offset -3 lines).
Hunk #2 succeeded at 169 (offset -3 lines).
Hunk #3 succeeded at 207 (offset -3 lines).
error: while searching for:
return rc;
}
/* Update platform specific eth dev ops */
static void
nix_eth_dev_ops_override(void)
error: patch failed: drivers/net/cnxk/cn10k_ethdev.c:546
error: while searching for:
cnxk_eth_dev_ops.ip_reassembly_conf_set = cn10k_nix_reassembly_conf_set;
}
static void
npc_flow_ops_override(void)
{
error: patch failed: drivers/net/cnxk/cn10k_ethdev.c:575
Hunk #6 succeeded at 517 (offset -234 lines).
Checking patch drivers/net/cnxk/cn10k_ethdev.h...
Checking patch drivers/net/cnxk/cn10k_tx.h...
Checking patch drivers/net/cnxk/cn10k_tx_select.c...
Hunk #1 succeeded at 49 (offset -4 lines).
Checking patch drivers/net/cnxk/cn9k_ethdev.c...
Hunk #1 succeeded at 107 (offset -3 lines).
Hunk #2 succeeded at 168 (offset -3 lines).
Hunk #3 succeeded at 205 (offset -3 lines).
Hunk #4 succeeded at 455 (offset -43 lines).
error: while searching for:
cn9k_nix_timesync_read_tx_timestamp;
}
static void
npc_flow_ops_override(void)
{
error: patch failed: drivers/net/cnxk/cn9k_ethdev.c:515
Hunk #6 succeeded at 628 (offset -62 lines).
Checking patch drivers/net/cnxk/cn9k_ethdev.h...
Checking patch drivers/net/cnxk/cn9k_tx.h...
Checking patch drivers/net/cnxk/cn9k_tx_select.c...
Hunk #1 succeeded at 45 (offset -4 lines).
Checking patch drivers/net/cnxk/cnxk_ethdev.h...
error: while searching for:
#define CNXK_NIX_PFC_CHAN_COUNT 16
struct cnxk_fc_cfg {
enum rte_eth_fc_mode mode;
uint8_t rx_pause;
error: patch failed: drivers/net/cnxk/cnxk_ethdev.h:139
error: while searching for:
uint16_t flags;
uint8_t ptype_disable;
bool scalar_ena;
bool ptp_en;
bool rx_mark_update; /* Enable/Disable mark update to mbuf */
error: patch failed: drivers/net/cnxk/cnxk_ethdev.h:350
Hunk #4 succeeded at 446 (offset -29 lines).
Hunk #5 succeeded at 521 (offset -33 lines).
Checking patch drivers/net/cnxk/cnxk_tm.c...
Applied patch drivers/event/cnxk/cn10k_worker.h cleanly.
Applied patch drivers/event/cnxk/cn9k_worker.h cleanly.
Applying patch drivers/net/cnxk/cn10k_ethdev.c with 2 rejects...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Rejected hunk #4.
Rejected hunk #5.
Hunk #6 applied cleanly.
Applied patch drivers/net/cnxk/cn10k_ethdev.h cleanly.
Applied patch drivers/net/cnxk/cn10k_tx.h cleanly.
Applied patch drivers/net/cnxk/cn10k_tx_select.c cleanly.
Applying patch drivers/net/cnxk/cn9k_ethdev.c with 1 reject...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Rejected hunk #5.
Hunk #6 applied cleanly.
Applied patch drivers/net/cnxk/cn9k_ethdev.h cleanly.
Applied patch drivers/net/cnxk/cn9k_tx.h cleanly.
Applied patch drivers/net/cnxk/cn9k_tx_select.c cleanly.
Applying patch drivers/net/cnxk/cnxk_ethdev.h with 2 rejects...
Hunk #1 applied cleanly.
Rejected hunk #2.
Rejected hunk #3.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Applied patch drivers/net/cnxk/cnxk_tm.c cleanly.
diff a/drivers/net/cnxk/cn10k_ethdev.c b/drivers/net/cnxk/cn10k_ethdev.c (rejected hunks)
@@ -546,6 +555,118 @@
return rc;
}
+static int
+cn10k_nix_tm_mark_vlan_dei(struct rte_eth_dev *eth_dev, int mark_green,
+ int mark_yellow, int mark_red,
+ struct rte_tm_error *error)
+{
+ struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+ struct roc_nix *roc_nix = &dev->nix;
+ uint64_t mark_fmt, mark_flag;
+ int rc, i;
+
+ rc = cnxk_nix_tm_mark_vlan_dei(eth_dev, mark_green, mark_yellow,
+ mark_red, error);
+
+ if (rc)
+ goto exit;
+
+ mark_fmt = roc_nix_tm_mark_format_get(roc_nix, &mark_flag);
+ if (mark_flag) {
+ dev->tx_offload_flags |= NIX_TX_OFFLOAD_VLAN_QINQ_F;
+ dev->tx_mark = true;
+ } else {
+ dev->tx_mark = false;
+ if (!(dev->tx_offloads & RTE_ETH_TX_OFFLOAD_VLAN_INSERT ||
+ dev->tx_offloads & RTE_ETH_TX_OFFLOAD_QINQ_INSERT))
+ dev->tx_offload_flags &= ~NIX_TX_OFFLOAD_VLAN_QINQ_F;
+ }
+
+ for (i = 0; i < eth_dev->data->nb_tx_queues; i++) {
+ struct cn10k_eth_txq *txq = eth_dev->data->tx_queues[i];
+
+ txq->mark_flag = mark_flag & CNXK_TM_MARK_MASK;
+ txq->mark_fmt = mark_fmt & CNXK_TX_MARK_FMT_MASK;
+ }
+ cn10k_eth_set_tx_function(eth_dev);
+exit:
+ return rc;
+}
+
+static int
+cn10k_nix_tm_mark_ip_ecn(struct rte_eth_dev *eth_dev, int mark_green,
+ int mark_yellow, int mark_red,
+ struct rte_tm_error *error)
+{
+ struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+ struct roc_nix *roc_nix = &dev->nix;
+ uint64_t mark_fmt, mark_flag;
+ int rc, i;
+
+ rc = cnxk_nix_tm_mark_ip_ecn(eth_dev, mark_green, mark_yellow, mark_red,
+ error);
+ if (rc)
+ goto exit;
+
+ mark_fmt = roc_nix_tm_mark_format_get(roc_nix, &mark_flag);
+ if (mark_flag) {
+ dev->tx_offload_flags |= NIX_TX_OFFLOAD_VLAN_QINQ_F;
+ dev->tx_mark = true;
+ } else {
+ dev->tx_mark = false;
+ if (!(dev->tx_offloads & RTE_ETH_TX_OFFLOAD_VLAN_INSERT ||
+ dev->tx_offloads & RTE_ETH_TX_OFFLOAD_QINQ_INSERT))
+ dev->tx_offload_flags &= ~NIX_TX_OFFLOAD_VLAN_QINQ_F;
+ }
+
+ for (i = 0; i < eth_dev->data->nb_tx_queues; i++) {
+ struct cn10k_eth_txq *txq = eth_dev->data->tx_queues[i];
+
+ txq->mark_flag = mark_flag & CNXK_TM_MARK_MASK;
+ txq->mark_fmt = mark_fmt & CNXK_TX_MARK_FMT_MASK;
+ }
+ cn10k_eth_set_tx_function(eth_dev);
+exit:
+ return rc;
+}
+
+static int
+cn10k_nix_tm_mark_ip_dscp(struct rte_eth_dev *eth_dev, int mark_green,
+ int mark_yellow, int mark_red,
+ struct rte_tm_error *error)
+{
+ struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+ struct roc_nix *roc_nix = &dev->nix;
+ uint64_t mark_fmt, mark_flag;
+ int rc, i;
+
+ rc = cnxk_nix_tm_mark_ip_dscp(eth_dev, mark_green, mark_yellow,
+ mark_red, error);
+ if (rc)
+ goto exit;
+
+ mark_fmt = roc_nix_tm_mark_format_get(roc_nix, &mark_flag);
+ if (mark_flag) {
+ dev->tx_offload_flags |= NIX_TX_OFFLOAD_VLAN_QINQ_F;
+ dev->tx_mark = true;
+ } else {
+ dev->tx_mark = false;
+ if (!(dev->tx_offloads & RTE_ETH_TX_OFFLOAD_VLAN_INSERT ||
+ dev->tx_offloads & RTE_ETH_TX_OFFLOAD_QINQ_INSERT))
+ dev->tx_offload_flags &= ~NIX_TX_OFFLOAD_VLAN_QINQ_F;
+ }
+
+ for (i = 0; i < eth_dev->data->nb_tx_queues; i++) {
+ struct cn10k_eth_txq *txq = eth_dev->data->tx_queues[i];
+
+ txq->mark_flag = mark_flag & CNXK_TM_MARK_MASK;
+ txq->mark_fmt = mark_fmt & CNXK_TX_MARK_FMT_MASK;
+ }
+ cn10k_eth_set_tx_function(eth_dev);
+exit:
+ return rc;
+}
+
/* Update platform specific eth dev ops */
static void
nix_eth_dev_ops_override(void)
@@ -575,6 +696,22 @@
cnxk_eth_dev_ops.ip_reassembly_conf_set = cn10k_nix_reassembly_conf_set;
}
+/* Update platform specific tm ops */
+static void
+nix_tm_ops_override(void)
+{
+ static int init_once;
+
+ if (init_once)
+ return;
+ init_once = 1;
+
+ /* Update platform specific ops */
+ cnxk_tm_ops.mark_vlan_dei = cn10k_nix_tm_mark_vlan_dei;
+ cnxk_tm_ops.mark_ip_ecn = cn10k_nix_tm_mark_ip_ecn;
+ cnxk_tm_ops.mark_ip_dscp = cn10k_nix_tm_mark_ip_dscp;
+}
+
static void
npc_flow_ops_override(void)
{
diff a/drivers/net/cnxk/cn9k_ethdev.c b/drivers/net/cnxk/cn9k_ethdev.c (rejected hunks)
@@ -515,6 +635,22 @@
cn9k_nix_timesync_read_tx_timestamp;
}
+/* Update platform specific eth dev ops */
+static void
+nix_tm_ops_override(void)
+{
+ static int init_once;
+
+ if (init_once)
+ return;
+ init_once = 1;
+
+ /* Update platform specific ops */
+ cnxk_tm_ops.mark_vlan_dei = cn9k_nix_tm_mark_vlan_dei;
+ cnxk_tm_ops.mark_ip_ecn = cn9k_nix_tm_mark_ip_ecn;
+ cnxk_tm_ops.mark_ip_dscp = cn9k_nix_tm_mark_ip_dscp;
+}
+
static void
npc_flow_ops_override(void)
{
diff a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h (rejected hunks)
@@ -139,6 +140,15 @@
#define CNXK_NIX_PFC_CHAN_COUNT 16
+#define CNXK_TM_MARK_VLAN_DEI BIT_ULL(0)
+#define CNXK_TM_MARK_IP_DSCP BIT_ULL(1)
+#define CNXK_TM_MARK_IP_ECN BIT_ULL(2)
+
+#define CNXK_TM_MARK_MASK \
+ (CNXK_TM_MARK_VLAN_DEI | CNXK_TM_MARK_IP_DSCP | CNXK_TM_MARK_IP_ECN)
+
+#define CNXK_TX_MARK_FMT_MASK (0xFFFFFFFFFFFFull)
+
struct cnxk_fc_cfg {
enum rte_eth_fc_mode mode;
uint8_t rx_pause;
@@ -350,6 +360,7 @@ struct cnxk_eth_dev {
uint16_t flags;
uint8_t ptype_disable;
bool scalar_ena;
+ bool tx_mark;
bool ptp_en;
bool rx_mark_update; /* Enable/Disable mark update to mbuf */
Checking patch drivers/common/cnxk/roc_nix_tm.c...
error: drivers/common/cnxk/roc_nix_tm.c: does not match index
Checking patch drivers/common/cnxk/roc_nix_tm_ops.c...
error: while searching for:
continue;
rc = nix_tm_bp_config_set(roc_nix, sq->qid, 0, false);
if (rc) {
plt_err("Failed to disable backpressure, rc=%d", rc);
goto cleanup;
}
error: patch failed: drivers/common/cnxk/roc_nix_tm_ops.c:474
Applying patch drivers/common/cnxk/roc_nix_tm_ops.c with 1 reject...
Rejected hunk #1.
diff a/drivers/common/cnxk/roc_nix_tm_ops.c b/drivers/common/cnxk/roc_nix_tm_ops.c (rejected hunks)
@@ -474,7 +474,7 @@
continue;
rc = nix_tm_bp_config_set(roc_nix, sq->qid, 0, false);
- if (rc) {
+ if (rc && rc != -ENOENT) {
plt_err("Failed to disable backpressure, rc=%d", rc);
goto cleanup;
}
https://lab.dpdk.org/results/dashboard/patchsets/21275/
UNH-IOL DPDK Community Lab
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-02-25 5:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-25 5:18 |WARNING| pw108339-108341 [PATCH] [v2, 3/3] common/cnxk: check SQ node before setting bp config dpdklab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).