All hardware drivers should allocate IOVA-contiguous
memzones for their hardware resources.

Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
Tested-by: Santosh Shukla <santosh.shu...@caviumnetworks.com>
Tested-by: Hemant Agrawal <hemant.agra...@nxp.com>
Tested-by: Gowrishankar Muthukrishnan <gowrishanka...@linux.vnet.ibm.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 17 ++++++++++-------
 drivers/net/bnxt/bnxt_ring.c   |  9 +++++----
 drivers/net/bnxt/bnxt_vnic.c   |  8 ++++----
 3 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 0b21653..ad7d925 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -3147,9 +3147,10 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
                                sizeof(struct rx_port_stats) + 512);
                if (!mz) {
                        mz = rte_memzone_reserve(mz_name, total_alloc_len,
-                                                SOCKET_ID_ANY,
-                                                RTE_MEMZONE_2MB |
-                                                RTE_MEMZONE_SIZE_HINT_ONLY);
+                                       SOCKET_ID_ANY,
+                                       RTE_MEMZONE_2MB |
+                                       RTE_MEMZONE_SIZE_HINT_ONLY |
+                                       RTE_MEMZONE_IOVA_CONTIG);
                        if (mz == NULL)
                                return -ENOMEM;
                }
@@ -3181,10 +3182,12 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev)
                total_alloc_len = RTE_CACHE_LINE_ROUNDUP(
                                sizeof(struct tx_port_stats) + 512);
                if (!mz) {
-                       mz = rte_memzone_reserve(mz_name, total_alloc_len,
-                                                SOCKET_ID_ANY,
-                                                RTE_MEMZONE_2MB |
-                                                RTE_MEMZONE_SIZE_HINT_ONLY);
+                       mz = rte_memzone_reserve(mz_name,
+                                       total_alloc_len,
+                                       SOCKET_ID_ANY,
+                                       RTE_MEMZONE_2MB |
+                                       RTE_MEMZONE_SIZE_HINT_ONLY |
+                                       RTE_MEMZONE_IOVA_CONTIG);
                        if (mz == NULL)
                                return -ENOMEM;
                }
diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c
index 8fb8972..0e8a6a2 100644
--- a/drivers/net/bnxt/bnxt_ring.c
+++ b/drivers/net/bnxt/bnxt_ring.c
@@ -166,10 +166,11 @@ int bnxt_alloc_rings(struct bnxt *bp, uint16_t qidx,
        mz = rte_memzone_lookup(mz_name);
        if (!mz) {
                mz = rte_memzone_reserve_aligned(mz_name, total_alloc_len,
-                                        SOCKET_ID_ANY,
-                                        RTE_MEMZONE_2MB |
-                                        RTE_MEMZONE_SIZE_HINT_ONLY,
-                                        getpagesize());
+                               SOCKET_ID_ANY,
+                               RTE_MEMZONE_2MB |
+                               RTE_MEMZONE_SIZE_HINT_ONLY |
+                               RTE_MEMZONE_IOVA_CONTIG,
+                               getpagesize());
                if (mz == NULL)
                        return -ENOMEM;
        }
diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c
index d4aeb4c..9ccc67e 100644
--- a/drivers/net/bnxt/bnxt_vnic.c
+++ b/drivers/net/bnxt/bnxt_vnic.c
@@ -185,10 +185,10 @@ int bnxt_alloc_vnic_attributes(struct bnxt *bp)
        mz = rte_memzone_lookup(mz_name);
        if (!mz) {
                mz = rte_memzone_reserve(mz_name,
-                                        entry_length * max_vnics,
-                                        SOCKET_ID_ANY,
-                                        RTE_MEMZONE_2MB |
-                                        RTE_MEMZONE_SIZE_HINT_ONLY);
+                               entry_length * max_vnics, SOCKET_ID_ANY,
+                               RTE_MEMZONE_2MB |
+                               RTE_MEMZONE_SIZE_HINT_ONLY |
+                               RTE_MEMZONE_IOVA_CONTIG);
                if (!mz)
                        return -ENOMEM;
        }
-- 
2.7.4

Reply via email to