net/bnxt: fix vector mode for 32-bit x86
authorLance Richardson <lance.richardson@broadcom.com>
Fri, 25 Sep 2020 21:40:19 +0000 (17:40 -0400)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 30 Sep 2020 17:19:11 +0000 (19:19 +0200)
Descriptor valid mask should be 64-bit all ones, use
appropriate initializer type (unsigned long long) to
obtain correct value in 32-bit mode.

Fixes: deae85145c64 ("net/bnxt: handle multiple packets per loop in vector Rx")

Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_rxtx_vec_sse.c

index 3a5a50a..271e790 100644 (file)
@@ -164,7 +164,7 @@ bnxt_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
        uint16_t cp_ring_size = cpr->cp_ring_struct->ring_size;
        uint16_t rx_ring_size = rxr->rx_ring_struct->ring_size;
        struct cmpl_base *cp_desc_ring = cpr->cp_desc_ring;
-       uint64_t valid, desc_valid_mask = ~0UL;
+       uint64_t valid, desc_valid_mask = ~0ULL;
        const __m128i info3_v_mask = _mm_set_epi32(CMPL_BASE_V, CMPL_BASE_V,
                                                   CMPL_BASE_V, CMPL_BASE_V);
        uint32_t raw_cons = cpr->cp_raw_cons;