From patchwork Mon Sep 18 10:42:32 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 28840 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D83A01B1A8; Mon, 18 Sep 2017 12:44:10 +0200 (CEST) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0089.outbound.protection.outlook.com [104.47.32.89]) by dpdk.org (Postfix) with ESMTP id F052D1B1A8 for ; Mon, 18 Sep 2017 12:44:08 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=MEOlTPCZv5rrGIROPbvv6VGPwGHAKcZj8penisX5CPY=; b=dqvSAeEsfxAKjUsrgST1VrE9UIVtCP8IwL8Lfq5B/0NxbSTurb8Q4pGcVGAlkkiyFWwr+vDj4aCslxPVrf2eJOEzwofLbP3SEMQ5TOS5OCztafjS99X4caLT7LKTDhBc1feaXJv7yvAaBOK8PytceTZiKvpYoKYwwRinqjsgm0E= Received: from localhost.localdomain (14.140.2.178) by DM5PR07MB3097.namprd07.prod.outlook.com (10.172.85.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.9; Mon, 18 Sep 2017 10:43:59 +0000 From: Santosh Shukla To: dev@dpdk.org Cc: olivier.matz@6wind.com, thomas@monjalon.net, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, aconole@redhat.com, stephen@networkplumber.org, anatoly.burakov@intel.com, gaetan.rivet@6wind.com, shreyansh.jain@nxp.com, bruce.richardson@intel.com, sergio.gonzalez.monroy@intel.com, maxime.coquelin@redhat.com, Santosh Shukla Date: Mon, 18 Sep 2017 16:12:32 +0530 Message-Id: <20170918104234.9149-8-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170918104234.9149-1-santosh.shukla@caviumnetworks.com> References: <20170831032618.7120-1-santosh.shukla@caviumnetworks.com> <20170918104234.9149-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: PN1PR01CA0093.INDPRD01.PROD.OUTLOOK.COM (10.174.144.161) To DM5PR07MB3097.namprd07.prod.outlook.com (10.172.85.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ddd72efa-11a0-4732-9eb2-08d4fe823023 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR07MB3097; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3097; 3:/70kFzdXx3s4Pxq06j1e1YU0zVHmkNbwEPfxKSUfx2OfpCVdAPzr4e1CgIWb6MBRn4QHWzDqtBTUhVweJmmjiCxBP3LKbyZ5RyL9cDCNc2MbHe7AbVg5WiUny77Kc+JIlS4SVtkgOhG6zdTXIIY2yQxw/P95OpuzwxjdTuS/v2ShoZsyMb3dx+3PzWZqWBiCCxTi6Y46tzfU5V9Xvz1Ysv02Vlt8xiFlX12wmjdiqZu6RMtx5JlE2XPdHIfJySmN; 25:x/o1aYQzcw2i6Z2aZxPuUADKZKLLTJaqBCOUJY/hcFdjejOjuAMwZ02LGvIbdjT8oR6sEOQmShuf+G6yoEWjV0tITMaao+lO6V+U3h/jF51LxJ6fhuj8c2OgcxK3D/58HsVrVVcpJBh2UpCVszGq88fT0KfK2S4NKbmIMH/MttxdlTwoEs5qWkMLwhCK9TqWcsTlNPz+9FGLGINqcALI17heFHumrm96Phmmpnl1ReHX1YrKXvICWmvFnma6yrtoruh5f5qOfSztxAy6rhak4A0zxOi0j3o2zjG4OrABs3fttSlLcqPrAuPGiPAkpGRtowVGmlqnoDwq5U1W7h8CaQ==; 31:v+hFS+y9AuMyZgbYdfyeTUjeKqEnz1GgDBScemlisJO+7Cbo939E51BUl9I8+cjwQBUyReDBIgOISkCyB1xAcbSeVafP2DikboNyTGXaQYZuYySerToyX3kYyGpTOEDiEnQek5kXx0deHS2mrWucY1zb1jV3B651x+/z8pvw8gMHblxqUYpf8xLX4gMF3bSTHaMj8yNx0gBB6qlGM0lrwYI6L3tNy1DljhneN32Ui3k= X-MS-TrafficTypeDiagnostic: DM5PR07MB3097: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3097; 20:aFP0nO+uMEwlQ6XRob6L1SHj2EFjdV4k/l2JkU7HckcVhTh24jCfhEx4HeuC+fAdMxELrAfLdXQA3tty3ufGeAXJ1J+XizehoZdEwPxvyZrCF1gipETFxjyq4LexJEny2QFw9dy3/v5MalBBex/XJ618SlhcW3WRj28DuP95yjg5hc/vnca1YEoivxVEH+xFrYxOGN+k5yo9bDvBf6YQ2wkkw+v1pyvyuLmWiYTjQxNulmZiGHh7MXk6Ex60GdBD3v8yKNy/Y57h5x/wB2lG5xBPbtqDWGWuRGj/wFFIfVl42ByXfukD6K1HXhStHUM7OEjQY3B1ZE9CzOzal9EtoNkaQZ5tVN6H+ZKZ1yt/wE1zVdBhn3GgFssihjAZopyBj4PYoNwYHe/2AtixMFVJ2Oty3/wufhJ7ecgbzDRKnZsDs5An0SL2+Wtb7xajvzdUouYaoM0JiikE93ezRvLht7nTiiChlgzpPJ0Nw7HL+kVbJUmnJkjaR9MpKOD+95bPT5gdDtpo5speKBwRin+g/KNqZgShRuBC0lkl48lzcDMqggv4+RHS00YoX6uYZCIUMe7yztEkRYiCHuE3j66vyYXUe3HpO5qV3SHuSTEwfgA=; 4:MuDqR+f6kYff89zI34gibJNAkpoFGsf9ZPlYVlLiXq5k/XMk7Vn40/jxkoB0Nq4JUwwDpJ0gEergIr9wwWmH/xRCRjPV5B8ieiOjLLU0llODANZbpnRSXB+VwMmU2g5SUvrN+Q9JKl48aaudbKBOHBSExrlNcjmGxTLVBiNikvYMx6np06AUGXpjilIb2g5B69imtKCF5TqhemrvO9NfvpUGfIcl74yD5N/MTdyY6gMfiCbqBRcbeZcARi+8huBFWTcu3bwbG4DvOgsUo1hVs6O5CvWYckJaNx4mVwqt5qw= X-Exchange-Antispam-Report-Test: UriScan:(228905959029699); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(93006095)(10201501046)(100000703101)(100105400095)(6041248)(20161123560025)(20161123558100)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3097; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3097; X-Forefront-PRVS: 04347F8039 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6069001)(6009001)(346002)(376002)(199003)(189002)(6486002)(76176999)(6506006)(48376002)(50466002)(25786009)(5003940100001)(107886003)(110136004)(53936002)(4326008)(101416001)(97736004)(6512007)(16586007)(106356001)(105586002)(2351001)(47776003)(305945005)(189998001)(33646002)(478600001)(5660300001)(2361001)(42882006)(6916009)(6666003)(2950100002)(7416002)(36756003)(66066001)(2906002)(7736002)(81156014)(68736007)(50986999)(8656003)(81166006)(50226002)(316002)(8676002)(3846002)(5009440100003)(8936002)(16526017)(6116002)(1076002)(72206003)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3097; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM5PR07MB3097; 23:3dKanvlXGfokHJW4WMHOKmoiTJo+NqEc+OQ+TCTsv?= UmDSH+5I9AZjffCORBSjmB7TgkUIqIBivzOW5KWfgcpBGiAW3Y1e0bx+6IwqCB34qRruI+kqxf4zroN8ENbCmTNAlPBf0jW2jYKqGZAXbe7YESwMiJG7cUAurxKyT/OuRRIBoiRea/mqGlKVfkypPF/P71Qvu0w8IehaUwafxfS5B+0FBG8OHRxs0QGFRtX3WBU5uF+iKgCiuKAg44MgZI4i27CYFJBM++nLpsw35n8NDd/jX+SBxFj69sia9b0tacvWVHQtI4C397f6pTcY3qWCfevrohgkg6DHgybFwgo0Etc8JLoBOVNBbVv3S2hFGqygpmjwbpenHBpkZhE9wGfQTFZHa+siKDxgzzc5F6JfT6c0Q36BU3GvAnJNZs995N5j5mzKEJdiG6cAEo0FxFQW7rTOb5d1pyF4A3PT81agoKv3LOC4hUwV1pI+eFoDL5f8Oc9kgwxEJoMG/5Jteuda1a4dO3dQssYv0ivAdrx/EkFJblxvA4flRXeMV8uAQM/O5ZkseAfCzBNYtDM9AeJTFtS3OD4fZLIgwGoyPFSpaacUcm6Mhvlpruy/vIIqXUyos4YHrKeRNtBBvu2akoHo8MeUr25kzGNybIWiY8G8VSL1PiybJjAVduD10+Vh4Ykc/1rM+oqN6C388x4Kn2Vx+o7xAQd3H0BiRLuqnCX4P5wWXwCvzSNbU9PuE6rPjMEpHQURU/4Z5kAzYJ00k2yMZ33XRn9pKs/NcGgVcTcS4SeIVts8GnA8w1rE2dQIKH2CLsr1DKYvYC3jJfdVAJxojk1YMONi77/xK2/eL+On4re7T6JanlFBW2PtJta7TgN0FTvDucbI/8xG03Drj0EESkjwLdSfmIc24vdQ7CIfREpvCikAf5v8WCNrZfRaxTxHV5Xb3RhSFgqBKpU2eteaqJXEknucKCkWZI+QR2ewu5oOUe9ToJTkCOq+soVYwhqFHz8ui/PyoRyAB2Ymadj6c2yEjPhXDJ/b2TsvjYE//YVezzAJiEBvEytxwWVuYeu6Jx72Cg0BbjmLCWpbOaCuF1R51QrHpZ1lHTS2TlOGBKUk4MCH3igKSDs11stUb+BehbqYFmIJ8gv6teE8O3+Ovo6wJDXlHhE1Rtv/FEfHo8Nv3dGvCpE59L/GdaWNEmjRmSztE2BAD2r58UOaN31TJKRDQlM/GKoFRcMaUNqLLcbDoh4oIVVcy8BcZ5EJYdB0+vtfoUzmPKcozKnSVRw/9p+tp0CWr68qRndJvmLdQ== X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3097; 6:8oU03pL+3DraqRLF+Qggn8OcMpoNl/T82Hel0M9RirhTtXB6S2S8b7Ld0CWbPJ9Oi0lqy6GPbeoerDUEuY17qHjGmGmIQWLLve6nv39BNDnaLyoJv+kJmun3NQspl0IsG9IIFboGxjENw2cidNv6CcX8cRc3kgxMKDjQLzvk2H4t7c2TRuTDwF6ChfH49i65Y3uaRiphLxglnMvO0Q/YNSWt9+KHhZelnJnXYpQymCd7v2NSPxzyV2at2AfhkiRAvX2Q0Woqj/y3/x3hFS3xIls982vPMIhlzjXv2mlPxM2EwI9kbwfbFFxxPD6WH5TOVoqmFyIFXbBmxBomtlD/fA==; 5:g7eK0dw7VFN0eMU2yBA9N+ZVIU2JGtOFsgSd9kzYXTxhu1mAX1WeG5ccHzXnSMcJtmOnZYNOCDXMgJ5Hh/6jKCsxkZ+kEW219NpEwj8/Q3z2HHhMs/Q+qfZeiPnvRljyo8VS0HHDmvggAZOc9Mlavw==; 24:ztsGuw4AghQSKTQJxHznN6IO2J7W3SsVsuFtm2oxGlkZOfOSNsgMClq8z8pNQ9JgXYXbHuAFyxKN9HltkF6vpkR9Xc79V2kP5QdoOKfxU4Y=; 7:0qBf6xMi/oiPsSiZftvKAlJkvzhh0D3QKqvDKw/iAqo4Dv4VmljFCkXw5870WRcoihCfUxy+1uVQx3ZZyHnIZn3kCsi85ThxL1zbHQrzlT/Y6m2F7nCrANzunhAOaS4UDrY2LP7wSaQAhV7GYsJ0UI+VAnKQ64g2DHaI/7FCtLqPL+UEhVjfO2vVEZiIRSUWU8XXoL2FUIIw3almzLRTDIDhpcWVakl3/iR3Yu9IqBI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2017 10:43:59.6363 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3097 Subject: [dpdk-dev] [PATCH v8 7/9] linuxapp/eal_vfio: honor iova mode before mapping X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Check iova mode and accordingly map iova to pa or va. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob Reviewed-by: Maxime Coquelin Acked-by: Anatoly Burakov --- lib/librte_eal/linuxapp/eal/eal_vfio.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c index c8a97b7e7..b32cd09a2 100644 --- a/lib/librte_eal/linuxapp/eal/eal_vfio.c +++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c @@ -706,7 +706,10 @@ vfio_type1_dma_map(int vfio_container_fd) dma_map.argsz = sizeof(struct vfio_iommu_type1_dma_map); dma_map.vaddr = ms[i].addr_64; dma_map.size = ms[i].len; - dma_map.iova = ms[i].phys_addr; + if (rte_eal_iova_mode() == RTE_IOVA_VA) + dma_map.iova = dma_map.vaddr; + else + dma_map.iova = ms[i].phys_addr; dma_map.flags = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE; ret = ioctl(vfio_container_fd, VFIO_IOMMU_MAP_DMA, &dma_map); @@ -792,7 +795,10 @@ vfio_spapr_dma_map(int vfio_container_fd) dma_map.argsz = sizeof(struct vfio_iommu_type1_dma_map); dma_map.vaddr = ms[i].addr_64; dma_map.size = ms[i].len; - dma_map.iova = ms[i].phys_addr; + if (rte_eal_iova_mode() == RTE_IOVA_VA) + dma_map.iova = dma_map.vaddr; + else + dma_map.iova = ms[i].phys_addr; dma_map.flags = VFIO_DMA_MAP_FLAG_READ | VFIO_DMA_MAP_FLAG_WRITE;