Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/94876 _apply patch failure_ Submitter: Ajit Khaparde 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