From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <alucero@netronome.com>
Received: from netronome.com (host-79-78-33-110.static.as9105.net
 [79.78.33.110]) by dpdk.org (Postfix) with ESMTP id 4E48A1B3AE;
 Tue, 10 Jul 2018 19:26:07 +0200 (CEST)
Received: from netronome.com (localhost [127.0.0.1])
 by netronome.com (8.14.4/8.14.4/Debian-4.1ubuntu1) with ESMTP id
 w6AHPv52007858; Tue, 10 Jul 2018 18:25:57 +0100
Received: (from alucero@localhost)
 by netronome.com (8.14.4/8.14.4/Submit) id w6AHPvKQ007857;
 Tue, 10 Jul 2018 18:25:57 +0100
From: Alejandro Lucero <alejandro.lucero@netronome.com>
To: dev@dpdk.org
Cc: stable@dpdk.org, anatoly.burakov@intel.com
Date: Tue, 10 Jul 2018 18:25:52 +0100
Message-Id: <1531243552-7795-6-git-send-email-alejandro.lucero@netronome.com>
X-Mailer: git-send-email 1.9.1
In-Reply-To: <1531243552-7795-1-git-send-email-alejandro.lucero@netronome.com>
References: <1531243552-7795-1-git-send-email-alejandro.lucero@netronome.com>
Subject: [dpdk-stable] [PATCH v4 5/5] net/nfp: support IOVA VA mode
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Jul 2018 17:26:07 -0000

NFP can handle IOVA as VA. It requires to check those IOVAs
being in the supported range what is done during initialization.

Applicable to v17.11.3 only.

Signed-off-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
---
 drivers/net/nfp/nfp_net.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 8fc1b8f..98098f6 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -3053,14 +3053,16 @@ static int eth_nfp_pci_remove(struct rte_pci_device *pci_dev)
 
 static struct rte_pci_driver rte_nfp_net_pf_pmd = {
 	.id_table = pci_id_nfp_pf_net_map,
-	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
+		     RTE_PCI_DRV_IOVA_AS_VA,
 	.probe = nfp_pf_pci_probe,
 	.remove = eth_nfp_pci_remove,
 };
 
 static struct rte_pci_driver rte_nfp_net_vf_pmd = {
 	.id_table = pci_id_nfp_vf_net_map,
-	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
+		     RTE_PCI_DRV_IOVA_AS_VA,
 	.probe = eth_nfp_pci_probe,
 	.remove = eth_nfp_pci_remove,
 };
-- 
1.9.1