[dpdk-test-report] |WARNING| pw94876-94877 [PATCH] [2/2] net/bnxt: fix ring alloc and free logic

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Sat Jun 26 00:43:47 CEST 2021


Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/94876

_apply patch failure_

Submitter: Ajit Khaparde <ajit.khaparde at broadcom.com>
Date: Friday, June 25 2021 22:34:01 
Applied on: CommitID:175af25734f295874e31b33ccd0879e69fd152a9
Apply patch set 94876-94877 failed:

Checking patch drivers/net/bnxt/bnxt_ethdev.c...
error: while searching for:
	dev_info->flow_type_rss_offloads = BNXT_ETH_RSS_SUPPORT;

	dev_info->speed_capa = bnxt_get_speed_capabilities(bp);

	dev_info->default_rxconf = (struct rte_eth_rxconf) {
		.rx_thresh = {

error: patch failed: drivers/net/bnxt/bnxt_ethdev.c:987
Checking patch drivers/net/bnxt/bnxt_hwrm.c...
Hunk #1 succeeded at 1899 (offset -18 lines).
Hunk #2 succeeded at 2619 (offset -18 lines).
Hunk #3 succeeded at 2705 (offset -16 lines).
Hunk #4 succeeded at 4999 (offset -101 lines).
Hunk #5 succeeded at 5032 (offset -101 lines).
Hunk #6 succeeded at 6063 (offset -136 lines).
Checking patch drivers/net/bnxt/bnxt_hwrm.h...
error: while searching for:
int bnxt_hwrm_read_sfp_module_eeprom_info(struct bnxt *bp, uint16_t i2c_addr,
					  uint16_t page_number, uint16_t start_addr,
					  uint16_t data_length, uint8_t *buf);
#endif

error: patch failed: drivers/net/bnxt/bnxt_hwrm.h:304
Checking patch drivers/net/bnxt/bnxt_ring.c...
error: while searching for:
	return bnxt_alloc_rings(bp, bp->eth_dev->device->numa_node, 0, NULL,
				NULL, bp->async_cp_ring, NULL, "def_cp");
}

error: patch failed: drivers/net/bnxt/bnxt_ring.c:837
Checking patch drivers/net/bnxt/bnxt_rxq.c...
Checking patch drivers/net/bnxt/bnxt_txq.c...
Checking patch drivers/net/bnxt/bnxt_txr.c...
Hunk #2 succeeded at 552 (offset 4 lines).
Applying patch drivers/net/bnxt/bnxt_ethdev.c with 1 reject...
Rejected hunk #1.
Applied patch drivers/net/bnxt/bnxt_hwrm.c cleanly.
Applying patch drivers/net/bnxt/bnxt_hwrm.h with 1 reject...
Rejected hunk #1.
Applying patch drivers/net/bnxt/bnxt_ring.c with 1 reject...
Hunk #1 applied cleanly.
Rejected hunk #2.
Applied patch drivers/net/bnxt/bnxt_rxq.c cleanly.
Applied patch drivers/net/bnxt/bnxt_txq.c cleanly.
Applied patch drivers/net/bnxt/bnxt_txr.c cleanly.
diff a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c	(rejected hunks)
@@ -987,6 +987,8 @@ static int bnxt_dev_info_get_op(struct rte_eth_dev *eth_dev,
 	dev_info->flow_type_rss_offloads = BNXT_ETH_RSS_SUPPORT;
 
 	dev_info->speed_capa = bnxt_get_speed_capabilities(bp);
+	dev_info->dev_capa = RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP |
+			     RTE_ETH_DEV_CAPA_RUNTIME_TX_QUEUE_SETUP;
 
 	dev_info->default_rxconf = (struct rte_eth_rxconf) {
 		.rx_thresh = {
diff a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h	(rejected hunks)
@@ -304,4 +304,7 @@ int bnxt_hwrm_ring_stats(struct bnxt *bp, uint32_t cid, int idx,
 int bnxt_hwrm_read_sfp_module_eeprom_info(struct bnxt *bp, uint16_t i2c_addr,
 					  uint16_t page_number, uint16_t start_addr,
 					  uint16_t data_length, uint8_t *buf);
+int bnxt_hwrm_stat_ctx_alloc(struct bnxt *bp, struct bnxt_cp_ring_info *cpr);
+void bnxt_free_hwrm_tx_ring(struct bnxt *bp, int queue_index);
+int bnxt_alloc_hwrm_tx_ring(struct bnxt *bp, int queue_index);
 #endif
diff a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c	(rejected hunks)
@@ -837,3 +841,50 @@ int bnxt_alloc_async_ring_struct(struct bnxt *bp)
 	return bnxt_alloc_rings(bp, bp->eth_dev->device->numa_node, 0, NULL,
 				NULL, bp->async_cp_ring, NULL, "def_cp");
 }
+
+int bnxt_alloc_hwrm_tx_ring(struct bnxt *bp, int queue_index)
+{
+	struct bnxt_tx_queue *txq = bp->tx_queues[queue_index];
+	struct bnxt_cp_ring_info *cpr = txq->cp_ring;
+	struct bnxt_ring *cp_ring = cpr->cp_ring_struct;
+	struct bnxt_tx_ring_info *txr = txq->tx_ring;
+	struct bnxt_ring *ring = txr->tx_ring_struct;
+	unsigned int idx = queue_index + bp->rx_cp_nr_rings;
+	uint16_t tx_cosq_id = 0;
+	struct bnxt_coal coal;
+	int rc = 0;
+
+	rc = bnxt_alloc_cmpl_ring(bp, idx, cpr);
+	if (rc)
+		goto err_out;
+
+	bnxt_init_dflt_coal(&coal);
+	bnxt_hwrm_set_ring_coal(bp, &coal, cp_ring->fw_ring_id);
+
+	rc = bnxt_hwrm_stat_ctx_alloc(bp, cpr);
+	if (rc)
+		goto err_out;
+
+	if (bp->vnic_cap_flags & BNXT_VNIC_CAP_COS_CLASSIFY)
+		tx_cosq_id = bp->tx_cosq_id[queue_index < bp->max_lltc ? queue_index : 0];
+	else
+		tx_cosq_id = bp->tx_cosq_id[0];
+
+	rc = bnxt_hwrm_ring_alloc(bp, ring,
+				  HWRM_RING_ALLOC_INPUT_RING_TYPE_TX,
+				  queue_index, cpr->hw_stats_ctx_id,
+				  cp_ring->fw_ring_id,
+				  tx_cosq_id);
+	if (rc)
+		goto err_out;
+
+	bnxt_set_db(bp, &txr->tx_db, HWRM_RING_ALLOC_INPUT_RING_TYPE_TX,
+		    queue_index, ring->fw_ring_id,
+		    ring->ring_mask);
+	txq->index = idx;
+
+	return rc;
+err_out:
+	bnxt_free_hwrm_tx_ring(bp, queue_index);
+	return rc;
+}
Checking patch drivers/net/bnxt/bnxt_hwrm.c...
error: drivers/net/bnxt/bnxt_hwrm.c: does not match index
Checking patch drivers/net/bnxt/bnxt_ring.c...
error: drivers/net/bnxt/bnxt_ring.c: does not match index

https://lab.dpdk.org/results/dashboard/patchsets/17526/

UNH-IOL DPDK Community Lab


More information about the test-report mailing list