From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Santosh.Shukla@cavium.com>
Received: from NAM01-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam01on0050.outbound.protection.outlook.com [104.47.32.50])
 by dpdk.org (Postfix) with ESMTP id 7B5CE8C7E
 for <dev@dpdk.org>; Mon, 14 Aug 2017 18:12:17 +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=WNeCvNNEJLDphsLP2KS2I6+fUZ5u9DmAbQ113pLCHLk=;
 b=Nc+3ARbgj3baEeTvCPlK1q/3rKYHQLzyMmeIKVFqH6KPzSA9RfTWXKjSfeYCoNvH+vgOEbFR0SaOaoaLvuBhUcs8+s2Y5Qb72/i0ZPMveDRL/hM57km04W0BUoVV/OgFQNkEPzikRfyVCPmQOzAnZ5XVsOLhaqBl+DyvmQAoGCc=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Santosh.Shukla@cavium.com; 
Received: from localhost.localdomain (14.140.2.178) by
 CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id
 15.1.1341.21; Mon, 14 Aug 2017 16:12:11 +0000
From: Santosh Shukla <santosh.shukla@caviumnetworks.com>
To: dev@dpdk.org
Cc: olivier.matz@6wind.com, thomas@monjalon.net,
 jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,
 maxime.coquelin@redhat.com, sergio.gonzalez.monroy@intel.com,
 bruce.richardson@intel.com, shreyansh.jain@nxp.com, gaetan.rivet@6wind.com,
 anatoly.burakov@intel.com, stephen@networkplumber.org,
 Santosh Shukla <santosh.shukla@caviumnetworks.com>
Date: Mon, 14 Aug 2017 21:40:48 +0530
Message-Id: <20170814161059.6684-2-santosh.shukla@caviumnetworks.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20170814161059.6684-1-santosh.shukla@caviumnetworks.com>
References: <20170724084004.25542-1-santosh.shukla@caviumnetworks.com>
 <20170814161059.6684-1-santosh.shukla@caviumnetworks.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [14.140.2.178]
X-ClientProxiedBy: PN1PR01CA0087.INDPRD01.PROD.OUTLOOK.COM (10.174.144.155) To
 CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 9364d222-3d15-4267-eb63-08d4e32f3b51
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);
 SRVR:CY4PR07MB3093; 
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093;
 3:WfTHxID3yAb3/ZasevwUvrdUdgC+aWXvtV38CaBPegDkbLjY+EC6F04cfvCDwnIFDiji/5GCR4JrH9GqyINzqYZ64vDGpDGO06wwj8YKkqn1ker4HvhlE8aEhV+unr4yqt+0DOJKHl1kVlP4Yea5s/fCzHCv8SoLHXCXQl1DsSipS3h5G1O332A9pGbTPQRyQ9z1r1xLTetbt8tm5fjQHNzpx2dn1hmuLgFMz0XogfLoGbBpK8q/WQi20vXwKqZz;
 25:0S60ia0LqNqjX6ZdrymrUvEdv0F7p7jhpmu+rWZMR5zBZ/9P7MC/0SoBYST8rwbI5OO5YMvWS07/Ix6aSNF3fHJxXCXyFa06PfnTvHAT5ymqrtNzSmLpzdVG/HI99xeoGQsla1MJX/AaJR3JypYMc44xznmq4MFmW8MibkPvrmhXYeBxX28vfSWNywq1pSHpg86KyM0og1lIy0FlK+BingQnVT5o09/z9r9+R8Ys5e7sw4LWIbRW4yEz025WFsBRI42rZWLGzqo8O7lHD8j/CJsXOqDVWo256mb8g0h1Csfbot+qt1vrxJsLyPh8Cp9bX6+yKx9JU7rgF90uHVrpgQ==;
 31:lnP45lNNho+EyeLZ3CjnnRs9ScTsXf9SDHGqAfBhu1oO2/8mFly7edn98TpvCt04qpPl5IQVKI6zkqnACreAgirhDCgUNd0iSFpJcGcAOS/mgaQs5jFPhBx2L9VDAfdq4IHifFAHb0c9GYqCHbdKgqA1Fv/S4UBLkTRe0x6eoI+dwjNktqpf/fOf9TujAvdgS4qL4Hkj2rURsNo1Di5bPWnvI8PFBxvesSjYlwUex0s=
X-MS-TrafficTypeDiagnostic: CY4PR07MB3093:
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093;
 20:JADQqrIKNih/38W/8l8c8ILbacD6j64wfwrMspwdktbB4O8QPaTiPlnHqu9Pcs8hyTqUfee0tWxnsGUjYPj6GjcpU5DoTaWeDkf+eOy206XJmOAhKL/DzVdpBHnJ/Etf6QJToshr2zPKSUOHT6MWSU2zdPXCG/IuiNqvXk/S6IFoWfNZbpT/IOgWxkAnBROkRVE8pEjk+E1veLuEWAkLi6XNjHHOlf3jPylmaMWvlc6sEvpvXQZ7CIwLeJLHkGsexPCfVnBcsAzU6kF09qfLR66/ALgAyX0gWmjN8TWgekO8RKJdaPpfX8GWsGyPQodZSF32CnXcLziu0Nr3mFkGRJPu8g4Xslrh5rr2/24auT7fUHUMW6Gzcg+VBphoSndSHRL8Pl2dI0fBybKLmwX0PK2EsoYqTcqvc1ocMbYjjfHDv9eqbBwqzLC1hjmbvVYEvknObrHavNEMdFs39OeVyFPh7FyJnWvCWKNi2I39mEC2N34EbPjvQ3BVuMOcRkYiKInDEPoksWk9eKGL2qkfrG/izmfev99/UR6xgX7K/KE41TXttAJ4+tRcMGj/UPlQEbDKjTBGi/9SJ+mnApvHeLE/bXdXqNsA/XzRwqt4Hq8=;
 4:awERbboCWKpbX9cvk7V1pJOBYX3TjGmSX94P3LUF3dZI58cQ4QnuqXXE+lYJPzy7OieknJksR0j0ZeOI3QneXP+4bPdz52umpwBxKkbBRRox/FXxWZI48SQrX4jACH2CtdOz7p2Lwlj2WGQje6FENE0P1TmWuLFzz4PUBFdoxazicQgrG/rMoWuYMpF9sI/hM72mZ82S12pR9H+vmYaSCPiegLJ+uOAlMWX0KmVglUuwD4o+1hDA1kcfBOK/YPfG
X-Exchange-Antispam-Report-Test: UriScan:;
X-Microsoft-Antispam-PRVS: <CY4PR07MB3093C7BD6964D53C1EF0C66BEA8C0@CY4PR07MB3093.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:CY4PR07MB3093; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:CY4PR07MB3093; 
X-Forefront-PRVS: 039975700A
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(7370300001)(4630300001)(6069001)(6009001)(189002)(199003)(76176999)(101416001)(1076002)(50986999)(8656003)(6116002)(66066001)(72206003)(7350300001)(5009440100003)(3846002)(107886003)(47776003)(110136004)(2361001)(8676002)(42186005)(6486002)(50466002)(48376002)(105586002)(106356001)(189998001)(4326008)(6506006)(5660300001)(2351001)(25786009)(6512007)(81156014)(478600001)(36756003)(33646002)(7416002)(5003940100001)(7736002)(305945005)(68736007)(97736004)(6666003)(50226002)(6916009)(42882006)(2906002)(2950100002)(81166006)(53936002)(110426004);
 DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3093; 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; CY4PR07MB3093;
 23:rL8S0NyXOsC3/0JqIYXMLyRB9+TUZL9fOYrZcAdzm?=
 =?us-ascii?Q?xR5xvwDwtBf1bqPQ9B5itER466ZiGyUIlIzcWEgiXqs019o0u9No3FrGD/eK?=
 =?us-ascii?Q?HvSAtRvhs1Tuxd8et/WTwyG6AGZ4dVWMG1x03OwHtPrAqQmguz3LsryQO/7F?=
 =?us-ascii?Q?sJto0gOJqX7G564jnGG2pACcFyLtiPP7wOOGu3xcnhXMp91vGE1fkqCplIiL?=
 =?us-ascii?Q?kuhLr7vZVrCN6Db7fDYLEFtO2lg3M7m8EZUH2QvSuG3iIwY4CoAIt52V8Yqe?=
 =?us-ascii?Q?Ytq3UJwk29poAoEuDI2HsHUwLQe/nl4M6+MNLWj2V3SMBtBpiAWxfPnfajDF?=
 =?us-ascii?Q?kQ2+Apfw5mWOqWUKrr8RfgB41k+ouvGCBNqenytJAHRYNcDDZ4w7Dy40AF1i?=
 =?us-ascii?Q?raSBN3goHwP75kzRiYr4+tkXS9Z6zbSoilJYKk5m1OmwEFRqudNcq0743iqq?=
 =?us-ascii?Q?j3qZYVPYdBT/mH2l39B49s/7pZFFiI12PdNj3f8jupPaFfBeVKuoSq0QJKmi?=
 =?us-ascii?Q?GAaRh+w3kPtHpe/k7YXSANUIpn89CYgGOBFNbMn5KDipmegIatLg0KZ3gGvK?=
 =?us-ascii?Q?/9i/5zqqzFBiQC+Ex5io+ftGI2mX8U44oewN2nZg3pj82YeklOeKmtDr4qRZ?=
 =?us-ascii?Q?h16XyysEvjoUIN0BfCg+yg0iF4Xld+J4ngAQS0ssrqFs7XSS/tvF1/qfpwoo?=
 =?us-ascii?Q?c8ogAbPiw33JZP+OOi4YMdEZbT0T8IpY2uGld3d80eaGnW27pQsAZ30tHyUJ?=
 =?us-ascii?Q?lvVj4KPnd5+/nh6VSrqmHBrq5O4EmXOe6bxErFHctAZbEVi+/4+0yREg91GT?=
 =?us-ascii?Q?oRsh92xxZTe36OAEJq3y6kbf07pIWMXtyAUQBN46Wy2jaYXVuSlDT5FLQnwC?=
 =?us-ascii?Q?z0EjnAjugYmeGDoFHF/GjRqqQTOTgiXB8drmwGUo237rhI2O+mECJsAB6qlP?=
 =?us-ascii?Q?Q5Pik9ALRLGhjsMEv+CtMCp+Oc4WpJFCfaZYKEoXKcKkbZTJ/s0aUKheAk4e?=
 =?us-ascii?Q?u9EtgcH6FsfxX4FpYMi/We1rD5uBDrVp+CvX4mU12+0a4ZdZaVCprVSTBat8?=
 =?us-ascii?Q?73O6wKIZd0hg6aO6YTTOhPBIzq4sgv7KDJDqZOYzFNBWYSS6U49rHtgfR7Mh?=
 =?us-ascii?Q?TSnavYiuLs1LTw+yBpU3eHH/eokDO788qEhPsAhT1ARSR7jnx3debtoKvsCG?=
 =?us-ascii?Q?KpRxGgSd+Wq+gpwayneZeiD1P9Ioh2xGWlvTOQ65GRh8Op9J6em6i8EMbkVm?=
 =?us-ascii?Q?9BzllihrHjkB9cOkVZKm6uF/Crnda+8zc3a9x38Fxutqtq72uizjQDmK+RLC?=
 =?us-ascii?B?UT09?=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093;
 6:3IVJBkJJCHufhSMdtU5Jb59VRk6mtuJ34Mpu/7TgnJX53yvBcy2XTDq7ZQv4X9ZmtEJoKPgarCUvfaT/NS4bD+PX0zcKbOFV/nUA0nJC2gVauTYHuhDLzyRiwHZpsH4m5PNmsIT7mEFmIK4iS9FIDiA3II/gZf80V0P48q9mnNos1b6jh+Q1P/C4SkrtbJGeiRuovc+NE8JkYR3H47EzcumL5XS8byz/r2Bh73I/r44lA7w1BWVOhUv/AGg5UDYvcd0GvmexVlEPzVeBq+qsLy+MsZpLTYB8dUcygYbEFa5jJ2k4a3okWejeP8DjgWQ4iW+OXrMiUNW61f/QO6dqVQ==;
 5:z4SbGBn2oZ2RLuwzQwdsf8YFKky3x9+ROhJW+3eUVT/tf8gyZIK5f5Jr1i2NL9VkoN8uQQUCHuHicWsAhD5IFH/eztg/vVkHVuhPQxgQ05Kp4qnKU82tk2D5a+vN6LfdVs9fzLD68d2d0gxqatH0ng==;
 24:vYKhZJk7uIVcPW9kiGeaWNqtRC0dxO6/JvKIc8BbLe05Yx9rt8zCSoKn+RkmxUwAGYN5j3LQxgtTi9RAcuULo68KaE9ttGIjIOuF6OYqDWg=;
 7:1/sPvsOnrPFDF5EviQd/lqgZiehyi4wdTvqCH10vwVB2LVADv9TQeapUaFDUtLcCmBm9j7i83aYbJfiPr0Cfx78k8Y+gAOQIsdmTJ/Vy//8oJM0JYJNhk1Vijk/tF+JpgNxjJGakkXxH8h2Vq62op4xatuc2XcMwuT4ZqQlEl0PxEtobpIYkekFTy+0evk8Z8b+EndKFwf0OKyITq3B2SF5QYwTL1WaBV1WClP3ySWQ=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Aug 2017 16:12:11.3649 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3093
Subject: [dpdk-dev] [PATCH v6 01/12] eal/pci: introduce PCI driver iova as
	va flag
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Aug 2017 16:12:18 -0000

Introducing RTE_PCI_DRV_IOVA_AS_VA flag. Flag used when driver needs
to operate in iova=va mode.

Why driver need iova=va mapping?

On NPU style co-processors like Octeontx, the buffer recycling has been
done in HW, unlike SW model. Here is the data flow:
1) On control path, Fill the HW mempool with buffers(iova as pa address)
2) on rx_burst, HW gives you IOVA address(iova as pa address)
3) As application expects VA to operate on it, rx_burst() needs to
convert to _va from _pa. Which is very expensive.
Instead of that if iova as va mapping, we can avoid the cost of
converting with help of IOMMU/SMMU.

Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_eal/common/include/rte_pci.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h
index 8b123391c..743392f91 100644
--- a/lib/librte_eal/common/include/rte_pci.h
+++ b/lib/librte_eal/common/include/rte_pci.h
@@ -202,6 +202,8 @@ struct rte_pci_bus {
 #define RTE_PCI_DRV_INTR_RMV 0x0010
 /** Device driver needs to keep mapped resources if unsupported dev detected */
 #define RTE_PCI_DRV_KEEP_MAPPED_RES 0x0020
+/** Device driver supports iova as va */
+#define RTE_PCI_DRV_IOVA_AS_VA 0X0040
 
 /**
  * A structure describing a PCI mapping.
-- 
2.11.0