net/mlx5: rearrange creation of WQ and CQ object
[dpdk.git] / drivers / net / bnxt / bnxt_rxr.c
index eb6f33c..b086898 100644 (file)
@@ -485,6 +485,9 @@ bnxt_ulp_set_mark_in_mbuf(struct bnxt *bp, struct rx_pkt_cmpl_hi *rxcmp1,
        rc = ulp_mark_db_mark_get(bp->ulp_ctx, gfid,
                                  cfa_code, vfr_flag, &mark_id);
        if (!rc) {
+               /* VF to VFR Rx path. So, skip mark_id injection in mbuf */
+               if (vfr_flag && *vfr_flag)
+                       return mark_id;
                /* Got the mark, write it to the mbuf and return */
                mbuf->hash.fdir.hi = mark_id;
                mbuf->udata64 = (cfa_code & 0xffffffffull) << 32;
@@ -782,7 +785,7 @@ uint16_t bnxt_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
                     !rte_spinlock_trylock(&rxq->lock)))
                return 0;
 
-#if defined(RTE_ARCH_X86)
+#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64)
        /*
         * Replenish buffers if needed when a transition has been made from
         * vector- to non-vector- receive processing.
@@ -959,6 +962,7 @@ int bnxt_init_rx_ring_struct(struct bnxt_rx_queue *rxq, unsigned int socket_id)
        ring->bd_dma = rxr->rx_desc_mapping;
        ring->vmem_size = ring->ring_size * sizeof(struct bnxt_sw_rx_bd);
        ring->vmem = (void **)&rxr->rx_buf_ring;
+       ring->fw_ring_id = INVALID_HW_RING_ID;
 
        cpr = rte_zmalloc_socket("bnxt_rx_ring",
                                 sizeof(struct bnxt_cp_ring_info),
@@ -980,6 +984,7 @@ int bnxt_init_rx_ring_struct(struct bnxt_rx_queue *rxq, unsigned int socket_id)
        ring->bd_dma = cpr->cp_desc_mapping;
        ring->vmem_size = 0;
        ring->vmem = NULL;
+       ring->fw_ring_id = INVALID_HW_RING_ID;
 
        /* Allocate Aggregator rings */
        ring = rte_zmalloc_socket("bnxt_rx_ring_struct",
@@ -995,6 +1000,7 @@ int bnxt_init_rx_ring_struct(struct bnxt_rx_queue *rxq, unsigned int socket_id)
        ring->bd_dma = rxr->ag_desc_mapping;
        ring->vmem_size = ring->ring_size * sizeof(struct bnxt_sw_rx_bd);
        ring->vmem = (void **)&rxr->ag_buf_ring;
+       ring->fw_ring_id = INVALID_HW_RING_ID;
 
        return 0;
 }