From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <nipun.gupta@nxp.com>
Received: from NAM02-BL2-obe.outbound.protection.outlook.com
 (mail-bl2nam02on0067.outbound.protection.outlook.com [104.47.38.67])
 by dpdk.org (Postfix) with ESMTP id EBFAA2BF5
 for <dev@dpdk.org>; Tue, 23 Jan 2018 16:03:20 +0100 (CET)
Received: from CY1PR03CA0036.namprd03.prod.outlook.com (2603:10b6:600::46) by
 BY1PR03MB1420.namprd03.prod.outlook.com (2a01:111:e400:5255::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.428.17; Tue, 23
 Jan 2018 15:03:19 +0000
Received: from BY2FFO11FD012.protection.gbl (2a01:111:f400:7c0c::116) by
 CY1PR03CA0036.outlook.office365.com (2603:10b6:600::46) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id
 15.20.444.14 via Frontend Transport; Tue, 23 Jan 2018 15:03:19 +0000
Authentication-Results: spf=fail (sender IP is 192.88.158.2)
 smtp.mailfrom=nxp.com; dpdk.org; dkim=none (message not signed)
 header.d=none;dpdk.org; dmarc=fail action=none header.from=nxp.com;
Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not
 designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com;
 client-ip=192.88.158.2; helo=az84smr01.freescale.net;
Received: from az84smr01.freescale.net (192.88.158.2) by
 BY2FFO11FD012.mail.protection.outlook.com (10.1.14.130) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.428.12
 via Frontend Transport; Tue, 23 Jan 2018 15:03:18 +0000
Received: from b27504-OptiPlex-790.ap.freescale.net
 (b27504-OptiPlex-790.ap.freescale.net [10.232.132.60])
 by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id w0NEHuN5022706;
 Tue, 23 Jan 2018 07:17:57 -0700
From: Nipun Gupta <nipun.gupta@nxp.com>
To: <jerin.jacob@caviumnetworks.com>
CC: <dev@dpdk.org>, <hemant.agrawal@nxp.com>, Nipun Gupta <nipun.gupta@nxp.com>
Date: Tue, 23 Jan 2018 19:47:51 +0530
Message-ID: <1516717073-6020-1-git-send-email-nipun.gupta@nxp.com>
X-Mailer: git-send-email 1.9.1
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131611933992384145;
 (91ab9b29-cfa4-454e-5278-08d120cd25b8); ()
X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(39380400002)(376002)(346002)(39860400002)(396003)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(50226002)(8936002)(2906002)(81156014)(47776003)(36756003)(68736007)(59450400001)(16586007)(316002)(8676002)(81166006)(86362001)(356003)(54906003)(6666003)(51416003)(305945005)(498600001)(105606002)(106466001)(2351001)(104016004)(5660300001)(53936002)(50466002)(4326008)(48376002)(6862004)(69596002)(77096007)(336011)(85426001)(97736004)(26005);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR03MB1420; H:az84smr01.freescale.net; FPR:;
 SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD012;
 1:15NcNCIBTWCmgWcmB1mFKngtIbucCLam9aqasXEFHyPxGfg7zEKrjYZOXIt0GFt1xPfIWAavTMkSwxIWNp6RHSMnCkcZdwjRKRjkHmkymbHUt4Vdvnap7Fw4XyBcA5oP
MIME-Version: 1.0
Content-Type: text/plain
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: deb3169e-4b2e-48e6-1530-08d562727046
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(7020095)(5600026)(4604075)(2017052603307); SRVR:BY1PR03MB1420; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1420;
 3:u3Ew2SM2Q5Fi2Jw6Zu1lWEt01HpAwkclwvo4H+ldCZW1W/Qpgy0ZKwZwL/AgupIBJqWhBLtR1Lhf6LuPBzcJNORGWOhziNYdRYsh/z+j6I+Gvy8N1dRPpbcmA4HKamCPxgMh4VHxbAVWHyCdW5uxRqaGZMlG08p9UL6EHMC3bLcvL2MP1YcrXJetao0ktTN320k6dUoWaSpqF+IClIm6ImYFu2e+Zcw45iTgYSWBX5BNltxulPvfR1ovDwqXPXce+VwR2JxRNBm/7H8OSAGGAxOWmGJpr6xZy4bw4ITJYl6soiYqzUU6F12xE2iFdo/dmAaBl8IiTuLBBkK4yOfj7w==;
 25:R4JH6K3ewH0sQ+oshyZr2I9NARgsbLizbZeUL5DWEsjZTwMw4PNjieA7d2rRhKagmNPU1URwyQu0EYI9d3RDBx2gUuC9YzDZUHJZVtiJ18Cnq/fAXYRDlyXaa6K7YP9VmtZU8vJtlK94WBjR3y+wnEFRCMQAug/35QtogU1eHkf3C37nJNleZlthNQRozvj34RmTMukCtr39W3FkXtbM6/eJ+gC0BJcH9NQsb435SuIU/2jBSI0ix3Q23Zupe/ficBuslTLuEqqRINX8ow+0kqeBf7ni56NPgFICCjJH7qIzNFdP7x30nPIcx29+RrvQX5OpjG/0Yklr0S29VLb2Pg==;
 31:SmoiK2gLyKcNGMBTVTBppTSPyDtdvdbqkpqO1cOyIgyxrJuxhoHUyqc2sxW0wrcPQgxqHbnOFlfJ+hqL1LEP/LNwhTKtLWuLOTdaPTJz2MoJavSnaC/MOSKSzOxwVX5IGZVBALP6Y69ISGz0C6LANVZ8MTCmtYkt0BdELO8OEMiC6G4dMWQ3Ql6dooXhxJXr9z8ibfLPBEYubiOwCXOc06oohb3glBiuPntPxONg22k=
X-MS-TrafficTypeDiagnostic: BY1PR03MB1420:
X-Microsoft-Antispam-PRVS: <BY1PR03MB1420BAEC2B3A0A557F45478CE6E30@BY1PR03MB1420.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(275809806118684);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6095135)(2401047)(5005006)(8121501046)(3231023)(2400081)(944501161)(93006095)(93001095)(10201501046)(3002001)(6055026)(6096035)(201703131430075)(201703131433075)(201703131448075)(201703151042153)(20161123556025)(20161123561025)(20161123559100)(20161123565025)(20161123563025)(201708071742011);
 SRVR:BY1PR03MB1420; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006);
 SRVR:BY1PR03MB1420; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1420;
 4:5j9OMO4RMj7oGRg79aMLApQ35b8SqXP3hdqT/r3yuZZTD2Ec9Av2NWFRjkrn2EigB2xJeOEjF6LgSqkuZPL3c1nZEzTZx9C2LZiNeJQVdn6L/MM+bQZ0lE1L1mQj13bwTGuz/5ZknVszr5NNr5ppceTMHPJRaajmw8PctPrv/xgbgM9Yz8u7mZRX+QionQfNkl9er1vCB4h5zw7inh7Ydh/uc3p2v2hUEnngBuPkYrhlQnpZOIvXPhe/KhRc2H2Sbqt2ZpWXiiCEr9XOOg1SEikMEdOOGz5OVJAtjJGM+zemmoUCWdu8E1Vc/uvZTAVhzgj6VJ4EvlavSFazEf/0SV6j6DHGUTqFXzEbSpV/3u8=
X-Forefront-PRVS: 05610E64EE
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR03MB1420;
 23:6R4ktV/3OrwQG1aklaKhZrNMxQa/mYUGrpTIZBmc3?=
 =?us-ascii?Q?Z6vOhWPNItJm1hniS3Rj6SxQElOjS1pg3p19zIoN7bq3qaIfS+i0jIN9M7Bt?=
 =?us-ascii?Q?GAMr2OManXT6RhvklCxnkx7Pi2ynwMdX5mrdfTZ+w/Aw6GguyQRCFRfuGcsh?=
 =?us-ascii?Q?cVki2Fi5lo4fF9jaBgz8Mxl6ShY19KC4Mib+eZRVL2rH9SVcG5F5YqLHGcO9?=
 =?us-ascii?Q?TPWFzBQZmHAku3DVr9dRMU51gFFUHUmeQiEpjRUXWN9M2FDm0hl5icLJQmxg?=
 =?us-ascii?Q?Yf9qGVbeMBj/fknzo/pzwDk5HUj1nNvMeHKdru2V2OmcvJmXxvJp/NgitAYB?=
 =?us-ascii?Q?/rx0zHeVYLabD0SwsH5HwSdQEZmfJDM2lBd+3SMIAA/vgTczTqRITeriiJ8a?=
 =?us-ascii?Q?VN1v13whWXW2vh7u7S9UJWkzxP6PixFtB8/R1WFzZgpFz5XPr8u6UMvcOCAA?=
 =?us-ascii?Q?KECk+q5bB99Iy/TvSAkv5x1sfegOaO2zUupNtd7CdwcP/ZLASFbcVyU/TE9U?=
 =?us-ascii?Q?ygCugEZvutH/v8GgGzl5rJnYTJlFkgaMeWVtKBBWYFCR29voE9LasOpMW+No?=
 =?us-ascii?Q?FvHgbabpFz9YIkQ/rlyLQEnsh3Gf2sPZ0m4fr7VTTjWL/N6gI8z3iM4HhTlk?=
 =?us-ascii?Q?v4nS1seVK4HDOsEghR7nT5nOuFBrsEhtbPYuokvompkocwPQVQ5hZax23mIZ?=
 =?us-ascii?Q?cFSu+xeo+EfLK5nBINO0WojLgKGQM2iCVcmWcqz2rbFc07uFbkL5V3FGSQOX?=
 =?us-ascii?Q?zlhhs5n7hozTYtrKjE7IG0bU2432P4v796MCaO6v3PtF16Cvo9rN9UlXRBoP?=
 =?us-ascii?Q?FP/djKLYvA5LAU8guL49hLkk+Usy2McFQYav72uqUOwgzjnrkcG8rk4CbzEo?=
 =?us-ascii?Q?t+ysHvgzX0/kxShftRjwaBikguXysA/X2yFUs7xDCjvEkXHowG6arm165XJv?=
 =?us-ascii?Q?iCzsFGwjkMesFS6mmf3I/giuIl7WIG76HHVjI+uQzMNGRPPPd6kemZ2ayCk7?=
 =?us-ascii?Q?6yJ/PBVIh6bKxawLJefnyRP37WT0XuzAzHvYK44qTN8CZXVulhrIfxmntAI2?=
 =?us-ascii?Q?XEF9LOwsJP/W+Hy3h1worooZeRN?=
X-Microsoft-Exchange-Diagnostics: 1; BY1PR03MB1420;
 6:yKxAlxDYGk2ayhjyNqQr6Lka/Y0bWxhyb3upK0OCi+i6CBbIOQ7ao0Q41q8nog1GNHRFck0CpJqDFuvXG5j7GkjPxAqhQO0ZjPc7gBtCRYSyKi54R3NHBFVTv6OXHJE3L8ZQDh2j+/IwXDB/+BArS0dp9xO7rh+lMTCOZ1pI6fpW8he5d95eLCm6uGDipxM5ELo4Wr7jcohJm4EzcPyDkPeWiPV5cxKnAJXhYyn3bN95ijQWl0GPomx44fT8qOUl9Ao/pwkVfUkCPFz4lP9bzVjP/Kb6AwBZqkS8QkIWizuDLJ/vRZqdvhx9Zo+e5LVKuA1cTj72G5HX0GnD4d+nChQTsciJInmveN63+A6T7+M=;
 5:YL1zazqGx/uBVIftPK21njwbLULD2W7ZndMcA7D5HqNz4YcbUDdVlGx3ImRnrVbZx0x/6bzLiDUFSLVgQRZ44oqxTpDbHOnf8piYbT0t5QUmjfx3P/PEV77qC+1D4dAE0ZY4NbRnQXB2Rs3r7xaAaUArOpnAc2+wYpTz3ov1pmM=;
 24:1iT2S96jdQKCV+RYzXRtLeMVlrWK3BQ4p5HSD6GxptVOfKvLJUTjT/H7KQxOgfQ8RqdGpXq87pL+nxr96da41SaMdpYhgcNqM7XLFJsrcAY=;
 7:P6H0Kf0w0FWZGooCobXlW1R/a/3HsJ7FvGP28Zd25CW0UZjw6W2q1kNwYGf6INyqhBHFKszZMjP7UMnKYGNjUi/r0F/L+yoTPzcNE54QLF52JJZ74DWYy6iiQC4kax94Qjl7JEirbBXIXxmKm9jT7WhCgWtIqEU/fu3SJvMGw8C2D10wnL1jkGzZy/pqMPSNu+jQhnzQze7Gsd8tunvucpxyhNApALUWAQ39wcPI2QIJ5dNLRJXoSqAKIGPsz8qS
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jan 2018 15:03:18.9888 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: deb3169e-4b2e-48e6-1530-08d562727046
X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2];
 Helo=[az84smr01.freescale.net]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1420
Subject: [dpdk-dev] [PATCH 1/3] bus/fslmc: create function to prefetch next
	DQRR entry
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://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: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Jan 2018 15:03:21 -0000

Signed-off-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h |  6 ++++++
 drivers/bus/fslmc/qbman/qbman_portal.c             | 11 +++++++++++
 drivers/bus/fslmc/rte_bus_fslmc_version.map        |  1 +
 3 files changed, 18 insertions(+)

diff --git a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
index 95d785f..3e63db3 100644
--- a/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
+++ b/drivers/bus/fslmc/qbman/include/fsl_qbman_portal.h
@@ -381,6 +381,12 @@ void qbman_pull_desc_set_channel(struct qbman_pull_desc *d, uint32_t chid,
 const struct qbman_result *qbman_swp_dqrr_next(struct qbman_swp *p);
 
 /**
+ * qbman_swp_prefetch_dqrr_next() - prefetch the next DQRR entry.
+ * @s: the software portal object.
+ */
+void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s);
+
+/**
  * qbman_swp_dqrr_consume() -  Consume DQRR entries previously returned from
  * qbman_swp_dqrr_next().
  * @s: the software portal object.
diff --git a/drivers/bus/fslmc/qbman/qbman_portal.c b/drivers/bus/fslmc/qbman/qbman_portal.c
index 2d324f7..e221733 100644
--- a/drivers/bus/fslmc/qbman/qbman_portal.c
+++ b/drivers/bus/fslmc/qbman/qbman_portal.c
@@ -779,6 +779,17 @@ int qbman_swp_pull(struct qbman_swp *s, struct qbman_pull_desc *d)
 #define QBMAN_RESULT_BPSCN     0x29
 #define QBMAN_RESULT_CSCN_WQ   0x2a
 
+#include <rte_prefetch.h>
+
+void qbman_swp_prefetch_dqrr_next(struct qbman_swp *s)
+{
+	const struct qbman_result *p;
+
+	p = qbman_cena_read_wo_shadow(&s->sys,
+		QBMAN_CENA_SWP_DQRR(s->dqrr.next_idx));
+	rte_prefetch0(p);
+}
+
 /* NULL return if there are no unconsumed DQRR entries. Returns a DQRR entry
  * only once, so repeated calls can return a sequence of DQRR entries, without
  * requiring they be consumed immediately or in any particular order.
diff --git a/drivers/bus/fslmc/rte_bus_fslmc_version.map b/drivers/bus/fslmc/rte_bus_fslmc_version.map
index 09ec05f..3f1ba13 100644
--- a/drivers/bus/fslmc/rte_bus_fslmc_version.map
+++ b/drivers/bus/fslmc/rte_bus_fslmc_version.map
@@ -99,6 +99,7 @@ DPDK_18.02 {
 	qbman_fq_query_state;
 	qbman_fq_state_frame_count;
 	qbman_swp_dqrr_idx_consume;
+	qbman_swp_prefetch_dqrr_next;
 	rte_fslmc_get_device_count;
 
 } DPDK_17.11;
-- 
1.9.1