X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Fbnxt_ring.c;h=aeb6cb6150d89942271e81b07755d53c19f7f151;hb=bd885ab120e2335f978a28ee0aa4303017390e15;hp=ea46fa9bc0667832278e126a1f57a2ed9ee8ef60;hpb=90bdf7956cb7fe135f3bb63adefa764254f6e15d;p=dpdk.git diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c index ea46fa9bc0..aeb6cb6150 100644 --- a/drivers/net/bnxt/bnxt_ring.c +++ b/drivers/net/bnxt/bnxt_ring.c @@ -110,9 +110,7 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, uint64_t rx_offloads = bp->eth_dev->data->dev_conf.rxmode.offloads; const struct rte_memzone *mz = NULL; char mz_name[RTE_MEMZONE_NAMESIZE]; - rte_iova_t mz_phys_addr_base; rte_iova_t mz_phys_addr; - int sz; int stats_len = (tx_ring_info || rx_ring_info) ? RTE_CACHE_LINE_ROUNDUP(sizeof(struct hwrm_stat_ctx_query_output) - @@ -198,7 +196,7 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, total_alloc_len += tpa_info_len; snprintf(mz_name, RTE_MEMZONE_NAMESIZE, - "bnxt_%04x:%02x:%02x:%02x-%04x_%s", pdev->addr.domain, + "bnxt_" PCI_PRI_FMT "-%04x_%s", pdev->addr.domain, pdev->addr.bus, pdev->addr.devid, pdev->addr.function, qidx, suffix); mz_name[RTE_MEMZONE_NAMESIZE - 1] = 0; @@ -214,22 +212,7 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, return -ENOMEM; } memset(mz->addr, 0, mz->len); - mz_phys_addr_base = mz->iova; mz_phys_addr = mz->iova; - if ((unsigned long)mz->addr == mz_phys_addr_base) { - PMD_DRV_LOG(DEBUG, - "Memzone physical address same as virtual.\n"); - PMD_DRV_LOG(DEBUG, "Using rte_mem_virt2iova()\n"); - for (sz = 0; sz < total_alloc_len; sz += getpagesize()) - rte_mem_lock_page(((char *)mz->addr) + sz); - mz_phys_addr_base = rte_mem_virt2iova(mz->addr); - mz_phys_addr = rte_mem_virt2iova(mz->addr); - if (mz_phys_addr == RTE_BAD_IOVA) { - PMD_DRV_LOG(ERR, - "unable to map ring address to physical memory\n"); - return -ENOMEM; - } - } if (tx_ring_info) { txq->mz = mz; @@ -268,7 +251,7 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, rx_ring->vmem = (void **)((char *)mz->addr + rx_vmem_start); rx_ring_info->rx_buf_ring = - (struct bnxt_sw_rx_bd *)rx_ring->vmem; + (struct rte_mbuf **)rx_ring->vmem; } rx_ring = rx_ring_info->ag_ring_struct; @@ -286,7 +269,7 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx, rx_ring->vmem = (void **)((char *)mz->addr + ag_vmem_start); rx_ring_info->ag_buf_ring = - (struct bnxt_sw_rx_bd *)rx_ring->vmem; + (struct rte_mbuf **)rx_ring->vmem; } rx_ring_info->ag_bitmap = @@ -446,7 +429,7 @@ int bnxt_alloc_rxtx_nq_ring(struct bnxt *bp) if (!BNXT_HAS_NQ(bp) || bp->rxtx_nq_ring) return 0; - socket_id = rte_lcore_to_socket_id(rte_get_master_lcore()); + socket_id = rte_lcore_to_socket_id(rte_get_main_lcore()); nqr = rte_zmalloc_socket("nqr", sizeof(struct bnxt_cp_ring_info), @@ -468,6 +451,7 @@ int bnxt_alloc_rxtx_nq_ring(struct bnxt *bp) ring->ring_mask = ring->ring_size - 1; ring->vmem_size = 0; ring->vmem = NULL; + ring->fw_ring_id = INVALID_HW_RING_ID; nqr->cp_ring_struct = ring; rc = bnxt_alloc_rings(bp, 0, NULL, NULL, nqr, NULL, "l2_nqr"); @@ -615,7 +599,7 @@ int bnxt_alloc_hwrm_rx_ring(struct bnxt *bp, int queue_index) if (rxq->rx_started) { if (bnxt_init_one_rx_ring(rxq)) { - RTE_LOG(ERR, PMD, + PMD_DRV_LOG(ERR, "bnxt_init_one_rx_ring failed!\n"); bnxt_rx_queue_release_op(rxq); rc = -ENOMEM; @@ -625,7 +609,7 @@ int bnxt_alloc_hwrm_rx_ring(struct bnxt *bp, int queue_index) bnxt_db_write(&rxr->ag_db, rxr->ag_prod); } rxq->index = queue_index; -#ifdef RTE_ARCH_X86 +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) bnxt_rxq_vec_setup(rxq); #endif @@ -730,7 +714,7 @@ int bnxt_alloc_hwrm_rings(struct bnxt *bp) bnxt_db_write(&rxr->rx_db, rxr->rx_prod); bnxt_db_write(&rxr->ag_db, rxr->ag_prod); rxq->index = i; -#ifdef RTE_ARCH_X86 +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) bnxt_rxq_vec_setup(rxq); #endif } @@ -836,7 +820,7 @@ int bnxt_alloc_async_ring_struct(struct bnxt *bp) if (BNXT_NUM_ASYNC_CPR(bp) == 0) return 0; - socket_id = rte_lcore_to_socket_id(rte_get_master_lcore()); + socket_id = rte_lcore_to_socket_id(rte_get_main_lcore()); cpr = rte_zmalloc_socket("cpr", sizeof(struct bnxt_cp_ring_info),