From patchwork Wed Sep 20 11:23:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 29011 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 E76511B19E; Wed, 20 Sep 2017 13:25:28 +0200 (CEST) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0058.outbound.protection.outlook.com [104.47.32.58]) by dpdk.org (Postfix) with ESMTP id 661771B1A3 for ; Wed, 20 Sep 2017 13:25:27 +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=fWq3Qkpa6vc4IZ/2mgPxRwsBik8OHMWCm8wdK+H+6Ig=; b=adQrFZ6y5ZNYgSWBNoFsTHfUowuyofABFRIaTEDOMjR+LAiYAC+I7tzMeSdvvi8/6bc5dLxqDhATgWixxGgX3sW5zZh2tea8mrZJAybTsFcvMeNSIPqiz1CsPMPYWUp+Y4FMXSpkrVhy+GVtcoKwYj/okKTEM8JCyVTZNsjvaWo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Santosh.Shukla@cavium.com; Received: from localhost.localdomain (111.93.218.67) by DM5PR07MB3098.namprd07.prod.outlook.com (10.172.85.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Wed, 20 Sep 2017 11:25:20 +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: Wed, 20 Sep 2017 16:53:54 +0530 Message-Id: <20170920112356.17629-8-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170920112356.17629-1-santosh.shukla@caviumnetworks.com> References: <20170918104234.9149-1-santosh.shukla@caviumnetworks.com> <20170920112356.17629-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BM1PR01CA0076.INDPRD01.PROD.OUTLOOK.COM (10.174.208.144) To DM5PR07MB3098.namprd07.prod.outlook.com (10.172.85.8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9d235c15-c74d-4db5-880e-08d5001a4a4f 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:DM5PR07MB3098; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 3:JZl11Qga9KFQRonMr0eiQVCqmCOv0wzHbohjg/14qc/p7SMFHb9bB5rr+A+8nI1QJkcoR0K2ONpwtLDsnc8rZYKH+A2mVBSQLil+YbnO3DLdaGsBZefPzi0CpngjuxEOpJ1njuJSu4Ar6d74EiXpP4pjNr3tzsGlpn3X1qsy0ScmRv9nPlfczbjhkZ5FqAgcfn61OV0wPVASEhCayIl2eZDfa8PJ5KmyDrHf36tYJ8pKd+tsmKc8qnn81Xg9p9OH; 25:b00OXhfuVOevtiRMXao6OkvjrUm/AdqcYj85/5gsGAkpN1SzfJdCexLTKQPbqyM5ULuvkDzs8rF97RDQAAjL1ffSEYryWDfug5OJsiJTZJL1j6wgUlYuFRTWE54sk090Rh62ilE7U3vej3jkOkNYqv6PKMTiHpELa+3dmlqROisIe7FHWeH8jOgZr7wJSCZHzKH8IoyWe9Z8zGO7DnN0toXozjaqW5nvMTaQTrlFc0SitOCehhsCOeQiiwCkzMh866s4SW6TuNejVEzbORdr4KQ24yah/mIlfn1Yxme9mFtVagkrEcsKQFJb+NbwfA1fQVA/FH+QkMQHB2G2ZbV7Dg==; 31:hC+MljapB5LLvlz4ywXs6lf1mRH8m1Gbz/3CTAcup600eLRik4QCyxDc+3j4gB5BbCXPkgpGQ1rMQLc0nu9LkO1uFsasGHo7q4oJnxnqERM6Iu25ez4lgTRwECw2I49fNdS6piFPkX1UOl+EkMq/3UCtvgSirr+bqFtfKQAhZYKxCgvpWuJ7bUFOVPn/C53lGpzCAQ/eCi9hyUGmhHC5UOOvclYztwlnYmrb1yOITDc= X-MS-TrafficTypeDiagnostic: DM5PR07MB3098: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 20:UuALIN+LNyDZyOJlSb/tNcOZ0XZDgLsDyLwBvKJEqpy38Nk2PoMoav/iZ1tuUAsO25b8fCDYzNiXpjZBpo/Kr8U+frlnftA7eLIns9c2d0bXw+d+GwJSiV3iBDq7JEEIltxGwNkB1MarL3duFpRoR67XQ7X9UvwYmqM0pGepSL0gX0OTauxDPVzt81pUrx3KrZqhbjGmmbyGyLacGletf7luQIGhZRd5T+oaqXuzDo/iO7w/a03T2O8EwThn8V/JNBFfaG9YP8/qr1laI3mZfqhUzZdLc0/32b0TGxyjCTWjz2+7zknUJxnD5MhhGcQCB2zD9caswJFzSDuD8l/As3b9yoB6hIsPqeZzWgV1/RGFgOn7XQ76B9y79fvDpgQA/pXvwp4ycqv6rMdSP/RG4AP1W8QwzWEK5OFQBDqmaR0eZ+CsXbclQyqj39mnLIJxrhMDLrX9Ah+9dFZAS/q2Nn6hq/J0xwe8NBQIRyEjquBbOXtR+CE8HYIxOqBRkKV/QCMncGgHoxVQ/Zhx3kOkLwZoLISjeWZDZ0tMVXJi9lGCeMEyhst8QuLcb8/q3Ws8mxX/t4qaHld9KORrg4FcBMzq8KEwgBDQ/4q8ScorHkY= X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(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)(10201501046)(100000703101)(100105400095)(93006095)(3002001)(6041248)(20161123564025)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3098; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3098; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 4:t77hMdEyc7sWTFqpbowc9xk2+c4mX3JKGtYTAUHkMDvi5JJWZ/qj4Na16plufOc1TfMfz6skIh3u9oJ9yD+rqRh+qDSePHSlhXRTETy8D65z2ZsK4R5yrAOB/18CcqEhFW//pCJ2p3fsEbARxdouJpiUP4/quLsg9tBOzG8qgnS0e6EIv/QdcuVeQxRv+b9L6Fh/yUuvQbV8XT6R7kGTbyoaTXR4maXnqtiq7JQ3iEg/8iXtqLtkCHvl3jdrah9DnwWOZMiJ3MCASjq2LLYXLUJwAkm9L3hmwxN1FfIPtZiApUDh8qnEqZ3iyCkIL3MPxFbCohDDZ458jMn88pjBHQ== X-Forefront-PRVS: 04362AC73B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6069001)(346002)(376002)(189002)(199003)(66066001)(3846002)(106356001)(8936002)(7736002)(2361001)(33646002)(6506006)(2351001)(47776003)(25786009)(105586002)(53936002)(6116002)(316002)(36756003)(6486002)(107886003)(68736007)(5009440100003)(6666003)(101416001)(6512007)(81156014)(81166006)(97736004)(4326008)(50986999)(76176999)(16526017)(8676002)(2906002)(16586007)(189998001)(305945005)(478600001)(72206003)(2950100002)(5003940100001)(1076002)(48376002)(50226002)(6916009)(42882006)(50466002)(5660300001)(8656003)(7416002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3098; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; DM5PR07MB3098; 23:fsvKxgyTHzi7KQX2mFJ81OQbld8tQSDaxgFPS5wNu?= a0DvdINIXwyXklcyNCWJH4Lu1CQLsjI/hUkyoob7mQ3hACk2Fya84om/IoF6y3JBGJMSfbh27b9ULv6VYbdvGVd8XhLi9XLzwmUjpHeNShtCRB744YHOv1HaqDC6bIWvfUUZh4wB1ees7G4/NRXldXhWK7amBcPJRRI31Jwk52YPg2um9FmBpWLF3GeRbHid0dyBvyaQi3ax8QnxpjLNXzZtC7TaxsKqZ+5uB+0Q8098PjO6Gb/CNCgPRSj8JgwO5R8twMSK0X/rp0MrKuklYo3SaVIEOOCQgHtuiTbo3ub4KDrsjv/hb0EBR0Y1gbXQXKewcQqIT64mtKRQeeCvEpNRXJnj/VAE0Z1692MhMneaMDtVZuvLCtofy5JmoSCVwcHYz3gUD/57cbADTakSEqkqUobjrInbMMf9HrBAt1ex5ySXyxfPCpYpsRqlW7mTnRSeW9bvcYNk9GwdzhlgXUyqEmUc83HT9J/AFWjAuPy80Zx4J8v+/rkKa69XW0YT8yGNLHBVIoHhxzboQ+/t0CnxwZXEJLbp4ZzTdbBhUrfUirlqU2K3TXFbJ7kFSnLrgFdNqXV6UKDOqKkv3O/+kHBv4SbqY0t74daxdQg/cNdEAPPxqNgtz1DlNeNmmI41LiKtb+rrUMR2eR1055nI/FKdXrCPJtMlbmRBt7CQfQ+j3TbdG2/bN0DUqP1c8B73Js/nhI+gcKRFpMw5ZzA+Rqmbm17o3Z0v4v3T8tmiCKZcZ6KrKegFiVsILE0lbBQZbZxsQGBdLBqjiNYkWtvRHGsztCYjETF0eKyS0yXj7lFJDIZgFMyWQxtH6SydqQwIvS6MbMNF3m4UbF8XkBLxc/N/znRgRvrv6/DmZp9kKjpYlQSduxwKt3WK0iD5kHoHAJ59aBZvUD7MZO9gg/FsmyN0QQ9bP6jPdH4bOLK35IP37AxOhNp48XNqwVA8LN2Afk+nKFUe1LTxZkeuf6I7vcpoAZ67wiMHk7HuqAXMnTnOPf9Oq9FcZYgKqDyFnzIJMUEuzrbfj51//IFgWXMs0Aw/zeR4p2xkFAJQGZPy0IRHricHDC+AgW5/bwSeV6NCYpRBoPS0XpPEdG6jY3AbZIj37y1sRQS2a37xN9p9H1sMlb+P3XD2/sG/a9eWvKKLhEwHEZ3DBS/T/3CgMflL9+YyEEF52pSE/rhA6fvRLRG9KSBMy6QClSXZWmx0w8v+/A= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 6:aOZSmy7/Ry8hriXHyzuihG44JiTfX2qVJezI+5Ymm9onI5B4wg+9oHzFu3Y6XLNmfSfF0A/SyBIz6u+w/3Afgh1Okd8OhVAU1oG6vsSptWrIpoBgE2R/9v0I8IO4WgXFDCG17CZkB1v5TYGwTIEFfOg76QfJ0yc3uBsM0+zBwkR5sRXwmc328ZvEk+LcYGhg6aD4gkSxrzx5RDPZZVJfIU9h1YwzINBAxzlrqo1+ENudnmFmpqm23cBYb1xzx/9IR0M4F5kk4uPpSyV3WMRPFiRNbU+RgwD+2S+pQJ7UydvXtBr3iq3nsvZOhfvU0kgneCWNVA793z1+CSDD42kWnw==; 5:u3fr0/n76CHwFGwdaWFXhu02QHD+ZQ6/Q+UXtTVhA9g/RrtjiNpAgOCsW5XZ0cqQLG3Qq0ZHdR9+SP6+qST9n0c47Cq8yYQqxdZEzMITmiayMnpJiTuppW7NCiusdlNG4epDXwmg9Fm9DAYmlfiN2Q==; 24:Ic4VKOak7WTPbt4LXhW3GMcVG6yUUXdgRtNvM1NTUdc3kXutQEo240HbrmkV9JTN1ORLTk6gzVoxhWeXx4QiQZfR2tjmogoFsMTPSoZAuv8=; 7:R2f0y1pl2Hp4W4ct/O8k40rCYN+JMrEplADPKRjKVoZWbB5hX/5RL/NrGSJmR7e1QvFkO0pnvQarxR7dZxuY8t9JXoe2Q699HEP5zGYdr5eG1brh5bbMKC2PqPqVuVRhYW/uqWx4iZl9tgSOe6+VvapRbfF6fRYJ72k1sQEWLE1opzGnUEAbHJRmdPtoXK9LhDYcb7B1YEKGk7UkQTsrK1ULZQPnCDaEmxlbU+tv9So= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2017 11:25:20.9762 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3098 Subject: [dpdk-dev] [PATCH v9 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 Tested-by: Hemant Agrawal --- 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;