automatic DPDK test reports
 help / color / mirror / Atom feed
* |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).