net/enetc: fix BD ring alignment
authorGagandeep Singh <g.singh@nxp.com>
Wed, 23 Oct 2019 06:05:59 +0000 (11:35 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 23 Oct 2019 14:43:10 +0000 (16:43 +0200)
enetc BD rings should be aligned to 128
instead of RTE_CACHE_LINE_SIZE.

Fixes: 469c6111a799 ("net/enetc: enable Rx and Tx")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
drivers/net/enetc/base/enetc_hw.h
drivers/net/enetc/enetc_ethdev.c

index fd71155..2fe7ccb 100644 (file)
@@ -12,6 +12,9 @@
 #define ENETC_DEV_ID_VF                0xef00
 #define ENETC_DEV_ID           0xe100
 
+/* BD RING ALIGNMENT */
+#define ENETC_BD_RING_ALIGN    128
+
 /* ENETC register block BAR */
 #define ENETC_BAR_REGS                 0x0
 
index dc05c00..4e97834 100644 (file)
@@ -178,12 +178,12 @@ enetc_alloc_txbdr(struct enetc_bdr *txr, uint16_t nb_desc)
        int size;
 
        size = nb_desc * sizeof(struct enetc_swbd);
-       txr->q_swbd = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
+       txr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
        if (txr->q_swbd == NULL)
                return -ENOMEM;
 
        size = nb_desc * sizeof(struct enetc_tx_bd);
-       txr->bd_base = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
+       txr->bd_base = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
        if (txr->bd_base == NULL) {
                rte_free(txr->q_swbd);
                txr->q_swbd = NULL;
@@ -325,12 +325,12 @@ enetc_alloc_rxbdr(struct enetc_bdr *rxr,
        int size;
 
        size = nb_rx_desc * sizeof(struct enetc_swbd);
-       rxr->q_swbd = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
+       rxr->q_swbd = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
        if (rxr->q_swbd == NULL)
                return -ENOMEM;
 
        size = nb_rx_desc * sizeof(union enetc_rx_bd);
-       rxr->bd_base = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE);
+       rxr->bd_base = rte_malloc(NULL, size, ENETC_BD_RING_ALIGN);
        if (rxr->bd_base == NULL) {
                rte_free(rxr->q_swbd);
                rxr->q_swbd = NULL;