From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@cavium.com>
Received: from NAM03-BY2-obe.outbound.protection.outlook.com
 (mail-by2nam03on0049.outbound.protection.outlook.com [104.47.42.49])
 by dpdk.org (Postfix) with ESMTP id 49B02F95A
 for <dev@dpdk.org>; Wed, 18 Jan 2017 02:23:28 +0100 (CET)
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=V7IpGDMO71s72SA/IytFG+lYoWpAEhPkM67pGa9fpm0=;
 b=FlVA94JaLGGdNPbRJ3VuALbCrqxud/3HPi/xNZASI+3Ty7RSoAt8ACF0d3NuMnCR9L4zTQpoc78gFELwqTqoKRNb/VM7tMCvw3rRRExjEh8BUkT0xvyLYgwijovw+SLnEHMUOmL11GUvZsdc+al0Bo0bftKZoPOOIBrTRkW/IL4=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Jerin.Jacob@cavium.com; 
Received: from jerin.caveonetworks.com (111.93.218.67) by
 BY1PR0701MB1721.namprd07.prod.outlook.com (10.162.111.140) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12; Wed, 18
 Jan 2017 01:23:23 +0000
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: <dev@dpdk.org>
CC: <konstantin.ananyev@intel.com>, <thomas.monjalon@6wind.com>,
 <bruce.richardson@intel.com>, <jianbo.liu@linaro.org>,
 <viktorin@rehivetech.com>, <santosh.shukla@caviumnetworks.com>, Wenzhuo Lu
 <wenzhuo.lu@intel.com>, Jerin Jacob <jerin.jacob@caviumnetworks.com>
Date: Wed, 18 Jan 2017 06:51:32 +0530
Message-ID: <1484702502-25451-20-git-send-email-jerin.jacob@caviumnetworks.com>
X-Mailer: git-send-email 1.9.3
In-Reply-To: <1484702502-25451-1-git-send-email-jerin.jacob@caviumnetworks.com>
References: <1484637244-7548-1-git-send-email-jerin.jacob@caviumnetworks.com>
 <1484702502-25451-1-git-send-email-jerin.jacob@caviumnetworks.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [111.93.218.67]
X-ClientProxiedBy: MA1PR01CA0115.INDPRD01.PROD.OUTLOOK.COM (10.174.56.159) To
 BY1PR0701MB1721.namprd07.prod.outlook.com (10.162.111.140)
X-MS-Office365-Filtering-Correlation-Id: 68db7f77-df51-4a60-f261-08d43f409a29
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001);
 SRVR:BY1PR0701MB1721; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721;
 3:d53EblxXIADy5HsW+eIBeq+ij9yZlORihNPdlGeh5ZCZeiPSX32cpV9vR1B4RefmU6yQTx7D/rzK/PToQvSK8uow66Rf2Pg3Vhjv/tOcVltsvFtj00INF1/pn44DhA5yP3i3QiVewfxra6JDSy0jRMfRcAbX+PZ5qb1lTqN6OkeffwGKtuwT8kQvG722yFozzKosid3QkEvDwgYJkqo5WVLlZxKWa+OUgAQL4sFceOdMNmbyhD+hvudoOKJEl8KU8up+yXjMoQRvv3mTgfudWQ==
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721;
 25:2c2bDFS+69vkDgelcCkkc2doYjyOWpSWzdCvG4ovhDCbQr6eeBds0dGHrla5n9hdIdFbqIxod8CqUobDMsZh9617iZMkmjsEoN2RtylBqItGg3hvQgQRLlLzFOvOir3tAQDCjrGoRKsCTl7jqIZiNU5YZkBgyttqdJUVpeu95WS7G6c18CcvN1ZznGQ83OCzJITmDkIPS8YRovUyMpaowzzi9e5lGNBqBNSFwFCjl1zg/FDwhKHPHSyflNzbMysqVkNatBpKK8lDwmqU5ranZ/Of7vf6wIi451BE7cnXve60aKt/+/zPuDNzBmaWFoZSywOaEmikfTIT2yxwzyK3Nk4QbAoEcCphac//Wm2rXlVjXNZpWdJM3biaoXHYCpq5kkt0kYR8xdzERkR2lJYlma0N+EKwxGtBWV1VkPa8erzrTxX8NUg/evXGwY9MHxDXC/wYkQBsqz8MVunMtXKu3i5mm2xhjk0I8ez3QJd4iEpZehuRO+kyp1kP0tJ798faRjHpS4mYpEr0rwbNsq4i/OYLiOKM9jMQtewWJVBOwu1dDDHeJdlZ+i2egm7gy8e037RKssh+eRcV6s+gs23WETfW70xKEmc8jzP2/F55n3ZA2NIogDj76KqIs9NgsDDOhUTwGFAgk4qInKUuURm/v/bAoI0lYlSx2CAoYYROc2YjRDjvTazvERs0fAaSuwQu29Vepj0Isv+do1wWmV4UuFSsr9nDVZzzSIN5824TxyTpVoSC0pr/FVuURJg7KB1HHVi266IRm2npxGssSZu+6Q==
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721;
 31:CKo1mdZWcK2L/L0tOC6YzsgIkIcwOg0HijZE5MI31D9eQJSyH3Y41Glcoplv0j1EMWV6GRHygvTPaQEC/Fe9ouzN2gEjID/P3K3gMOKzz4kUflUWK01tM04bObbodB9rCpVm10u629dDmMUqMT6i7MO1qLQ+i+579Va9RpTLpXhvcvo07xsKESpnfsT8SCgdgldheU7yxI8K7WF+Fsh5cyBtdv0OezLPyzY3HIo6pKnJs8dTFtho3764Q/0sauQq;
 20:RRdDYfNQMNQ+QXBwFZUtkvldh0wb32JLborPowVlHlqjpMpYiqeQvTpWNX5M9DUCUJOIWe5UlFTmN1mE35bBiLjasWPMH0/uGaOG7whgVle9b8O3DEUMvPldlPrTORj9BSIpFMD+l3XwerZ6tIAzywaC51qE385uDv8j3FDFh8cgLpwn2XcygkajjT4LcnUKYGXIY6P11hP3b40Xa0RwT/a9736PHLKDNOoRAhIHWIl0cA4H5o02dvdVJDnUvkpYVs7FKno7fnhT31Te5NDBGTPaPMZLSI+0wXiUfEfQ5XHmWOhn2jIfcMKpHXpJNg0oRZDsMBVyq8v2EFprLpuIb0q+6VYHN9dqwPtuZ2BcDz0dMUg/lJJdfgNWNWjsCgE7VCyqpglhK0deIFpdYbIa3l9IdDjCAxPURgM4uE6Q9j64Dw/MwKrtCTSXbDx/+IOzqkkFz0+RQwfXqeNa2Lz28mhtZJ2M8V9KE+1wOX9brjYXfLv3nRmTqjTdaIB3OS+p8VLuVy1F8gfDpuLkVoVurKX2FEDPJG3zG+89Fok/y1at8J0XpO7vVCRoINcQnCn46aIrbNkdn5p+81DpehwUCmHsc1YBN+cM5IpElO1+tm8=
X-Microsoft-Antispam-PRVS: <BY1PR0701MB172143D82DC4AF4A327665CA817F0@BY1PR0701MB1721.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(788757137089)(228905959029699);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123560025)(20161123564025)(20161123555025)(20161123562025)(6072148);
 SRVR:BY1PR0701MB1721; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1721; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721;
 4:8DQEgxgYg4sB57DMuqjeQkUdjiFBMzFBmBeB+gpQv7ydh4/UA7N2aEKbVQ0OLT8iPA1ygLVZiXUVjsqROFHjP3/uqem8EiD+MB5hrUtBb02bC8jwulzZhGNF11CCo1IjXtVq2Y97vlXf0bDnv+zJ9t7fipNUC+hDBF+7B0v9LXScr0/KYi/QpZFWYEmItatv++mis9vjZeoxoQry1WUiOM+ZOFFs7GGhBR4rcIBmoxhEMazsjz3eCiEI5x2YGJvfFzuKoc30s6yiaa20cDJF/LSu5gzMMOc/kmMVMp/UWL5O8otOjiMu4kDSB5NxnuQSlBo0BBHRFEFoogxrAEWdFP1SB8MP4MWfcb1aoKSSaXGaSZoGfFhKBOtJDvexWtqH7NWJ6zxUvYvqPkngIyF0jf67lbmeazOarv5qXXkjPjka/zargBVXI2coXgzmlv2dBezh8xeqz/3OrMA4qzwi6F6Qaec3mjpOqNQU4eqVKPRDfBOjJYeg7t4tDtsCmxOakYoe4zjMS11cfbfyRowV2m5gJiBnOcwBbOB8tKFeYS/fQn34wWWDa7HyEFFIQ9FxN5IcVoQKtIH/MOIBE1GBxywtyNBW1Vz1Db4fEHioBN4dE+3E1Ii9QnEehJfKM9PNBERW0C/GKYSbG8Mm9Xat9w==
X-Forefront-PRVS: 01917B1794
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(199003)(189002)(4326007)(6506006)(50986999)(97736004)(47776003)(107886002)(25786008)(189998001)(54906002)(66066001)(92566002)(101416001)(38730400001)(81156014)(81166006)(6486002)(2906002)(42186005)(53936002)(50226002)(8676002)(2351001)(68736007)(305945005)(53416004)(3846002)(50466002)(6666003)(105586002)(33646002)(6116002)(4001430100002)(5660300001)(575784001)(6512007)(48376002)(69596002)(76176999)(42882006)(5003940100001)(5009440100003)(36756003)(7736002)(110136003)(6916009)(106356001)(2950100002)(7099028);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1721; H:jerin.caveonetworks.com;
 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; BY1PR0701MB1721;
 23:IGPpiyUZKtozw1BSNfCNgRzqxEBCEr45cikxalN?=
 =?us-ascii?Q?MVi1boVHlvFjOEOOgHkIMwEwYcoES9PnU/FdR9cg2e6k+pm1ohzj48Qiv+Pi?=
 =?us-ascii?Q?kNEY9hHBKYpb00O8J9bb0tMRLQ0Lps60Yd5G6ZZGkioVa9LTrhgwpV+HryqK?=
 =?us-ascii?Q?UzhjxrmphyXBWVkJs/W/7toyu+mkFNl1yV6qn0OZUpuNrrOWBAHj2Si/UVXo?=
 =?us-ascii?Q?+tfEVhW582f684LW/OsaChy92bmUFjzB4HezHRJM28K7RmlRYtOznlKU5zky?=
 =?us-ascii?Q?zG/7H+31BBNT4xR60G2jy56pMX+cCVjOF43pgZDaM6pdoSS81Vr2JUiFM1XG?=
 =?us-ascii?Q?6+pbQaHMVrlhQT35bZ0mvDM+cDoNmATDlPeRx7aj7Ehzv705K6+21wMyX6fu?=
 =?us-ascii?Q?QO/JhCoYIAI8i1qSk6r9+LB6tKs4uNbLnsIy5euq3MzmtMANkihStaSuwyuT?=
 =?us-ascii?Q?XZX55fFLiDmrfkyuAwzP/rHOlq9Z8Rqn1c0xy+rFlxQoDCNWqntlZUNlXVOe?=
 =?us-ascii?Q?qXIRlUFMH87mYgogM6ty4BfCcl6NH8F7RAQPUSNdnwttSLTWuS/Pn3/SmsjL?=
 =?us-ascii?Q?LpQSOeQhVRTum/ZaD1UmEvNcx17UyGn/vxedo70/PS8IxXs+ESrtBIdWMQMd?=
 =?us-ascii?Q?sFtdUQsCUeAsRbeID1ujDez3OkusvHVkq2VL/pWEbPMBfRuHsPMypUBazKIq?=
 =?us-ascii?Q?oUgzI/5VXxxvi6ZHCc+QGNHqh25K6pnw/slTuV0PzQPb9AMJPWEohCY2pIAp?=
 =?us-ascii?Q?L4v2bIvlXuNE1BHMdle+EcbR1uoEuP/fsunwNcsdboOOtenoxzMX8GE/nASe?=
 =?us-ascii?Q?Z7bnpFc1Ljeti10cQK1E4CNBG0aojWL0G5GlcEzvgYiUhpDaoMRHL/h+wrTN?=
 =?us-ascii?Q?kK+oKZ4OlDHTBkg4fKRemYmjEzk1mstDtDXfs44PTu9ZMjVU6VmjtB/3exTf?=
 =?us-ascii?Q?mYL4i9DuIGfysn7fUEhcivNTtERbm+Np/q02SQsfrbQcSDIjmixTHyb031jO?=
 =?us-ascii?Q?gVhlOR2AUBXZguO5k0fEcFHEWV9ejeUH/1sinCDnb+415nV+WF+VNMg3DD0/?=
 =?us-ascii?Q?nTbZDvdPacoEKHXU4J2+RBvCQeKUhrsigtC9dOdi3/MOF7IAsawmF48YTLLP?=
 =?us-ascii?Q?LVJz5XBI3uYVVKgtKXSieAWRAeVQMkk53yC5h+zAXpsGCM77NP8HCkUWhdu7?=
 =?us-ascii?Q?2Qpa1vUJ03BwmeRoE7b/VnYMBt5wp+o2azwC2EKDFxbr49i1+nhV9VhMqnBk?=
 =?us-ascii?Q?550moIa+9Elh1AVB9dd0MyHiBv3+cP+SP9cA8qeoPDnXx7/TzeaDlSAcN3+q?=
 =?us-ascii?Q?RF43fmqUoHzHymLy2GHSGj04=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721;
 6:+vGtyUbg1Uo9KKjrnx08xklFZksfA+MwrS3RL6MauxqI0fnKUonJIOFBe/fLH8e//4pcAXo9Skr5LGScgM4UPpmSpHmmzShV0N8AbUO8Uc4CopViYuec71LuVZM6LpRnK7pZ30OxuUrdgniC4EB8smwcRPEVEmvn0nqQ0ZbKHU7/RQmfmYXgUlicaLmERUMugnBkl2oUzie42HWAQw2ADyNM58FjUUUba66ayq27Z5Quw39HNJaWyHPR49mcjrEdyeqQh2mUIqTv/Y2WK5N48fuajy5jzMcFXSaeLTwysOqRxhDg3sHmDTlP0qActYodal2TMcC/wO/UMRNam1GDwTOPYIfVTs5DeR1CXyG5wvE9cbvi4rnSV0pxWjrJlylTnErGGoEkkz9/gaLObbscUaemn9fvgTBnbRMh8kk++Ag=;
 5:mrbvJI4C2gBodLW9r2FVN4BqJ8A3XzCYo+ZMy0IZKrUcDKHjryjV8CIJi76LcYXYJMwUMYqNOThKkjqlgd29FFCt/y1FiwvyLlDKp6TsqlezXYXZcGPfEiynOLCTxbwS46lAMwl/uEiLI8HqLa6ERgiyheONd0BXEPnHRwCTKmI=;
 24:nY8bpYwI/cba11FE92iRcTCDvPtDqzTIOL23wTO39AsisiAbJmwdEZC7zIxVxv11TUoUFTFxs8xZt8q4xFmtKiFAc9Ph+huzDQQP7GD9asA=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721;
 7:tvgcYiJUUV4GL55KPPm2qMR7+EljLHqq7OOhCg3yjeCGKeIe26O7aGpJV47Zhwn/4JKTv6IYopAPl1IXL5lVfhR7MUG01FA2xzq21HibpcVLClUOMyUjb7QBZqLSn3uw1/vCeLBneDPEIks8BNl6HwU1keNHiVx/eNs0mBSKcpx3u5PH+jsYaPrx4PD9evoHLsgh3TtYQhCLJXmaD+qfMQLIFYzPAS5cg45ag033foGszMKQ5BuVUiv9GhFD6WlaQjN44XN8wYHFdpeDtTZ23KgYRPrUZ0OSmJ1gN6oUKRZ3MQzGLZkq22Kw98hp1dK4uIRWp+gnYEHB32zSzCf+rL/RESRfU0tJD9toedvJW9zy/bKkWpoNBRcIre2Sy0kbRqSy6TspNfeBNbdTm2/rsvS2t2XlzE1qem8am8YlgXKvTOpHf7B9rSVo1ni6Za3xOXLEF3KQiOJyHk4GPtXs3A==
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2017 01:23:23.2864 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1721
Subject: [dpdk-dev] [PATCH v5 19/29] net/e1000: use eal I/O device memory
	read/write API
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: Wed, 18 Jan 2017 01:23:28 -0000

From: Santosh Shukla <santosh.shukla@caviumnetworks.com>

Replace the raw I/O device memory read/write access with eal
abstraction for I/O device memory read/write access to fix
portability issues across different architectures.

CC: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 drivers/net/e1000/base/e1000_osdep.h | 18 ++++++++++--------
 drivers/net/e1000/em_rxtx.c          |  2 +-
 drivers/net/e1000/igb_rxtx.c         |  2 +-
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/drivers/net/e1000/base/e1000_osdep.h b/drivers/net/e1000/base/e1000_osdep.h
index 47a1948..b886804 100644
--- a/drivers/net/e1000/base/e1000_osdep.h
+++ b/drivers/net/e1000/base/e1000_osdep.h
@@ -44,6 +44,7 @@
 #include <rte_log.h>
 #include <rte_debug.h>
 #include <rte_byteorder.h>
+#include <rte_io.h>
 
 #include "../e1000_logs.h"
 
@@ -94,17 +95,18 @@ typedef int		bool;
 
 #define E1000_WRITE_FLUSH(a) E1000_READ_REG(a, E1000_STATUS)
 
-#define E1000_PCI_REG(reg) (*((volatile uint32_t *)(reg)))
+#define E1000_PCI_REG(reg)	rte_read32(reg)
 
-#define E1000_PCI_REG16(reg) (*((volatile uint16_t *)(reg)))
+#define E1000_PCI_REG16(reg)	rte_read16(reg)
 
-#define E1000_PCI_REG_WRITE(reg, value) do { \
-	E1000_PCI_REG((reg)) = (rte_cpu_to_le_32(value)); \
-} while (0)
+#define E1000_PCI_REG_WRITE(reg, value)			\
+	rte_write32((rte_cpu_to_le_32(value)), reg)
 
-#define E1000_PCI_REG_WRITE16(reg, value) do { \
-	E1000_PCI_REG16((reg)) = (rte_cpu_to_le_16(value)); \
-} while (0)
+#define E1000_PCI_REG_WRITE_RELAXED(reg, value)		\
+	rte_write32_relaxed((rte_cpu_to_le_32(value)), reg)
+
+#define E1000_PCI_REG_WRITE16(reg, value)		\
+	rte_write16((rte_cpu_to_le_16(value)), reg)
 
 #define E1000_PCI_REG_ADDR(hw, reg) \
 	((volatile uint32_t *)((char *)(hw)->hw_addr + (reg)))
diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
index 7e271ad..d099d6a 100644
--- a/drivers/net/e1000/em_rxtx.c
+++ b/drivers/net/e1000/em_rxtx.c
@@ -619,7 +619,7 @@ eth_em_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 	PMD_TX_LOG(DEBUG, "port_id=%u queue_id=%u tx_tail=%u nb_tx=%u",
 		(unsigned) txq->port_id, (unsigned) txq->queue_id,
 		(unsigned) tx_id, (unsigned) nb_tx);
-	E1000_PCI_REG_WRITE(txq->tdt_reg_addr, tx_id);
+	E1000_PCI_REG_WRITE_RELAXED(txq->tdt_reg_addr, tx_id);
 	txq->tx_tail = tx_id;
 
 	return nb_tx;
diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
index 5d0d3cd..45f3f24 100644
--- a/drivers/net/e1000/igb_rxtx.c
+++ b/drivers/net/e1000/igb_rxtx.c
@@ -609,7 +609,7 @@ eth_igb_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 	/*
 	 * Set the Transmit Descriptor Tail (TDT).
 	 */
-	E1000_PCI_REG_WRITE(txq->tdt_reg_addr, tx_id);
+	E1000_PCI_REG_WRITE_RELAXED(txq->tdt_reg_addr, tx_id);
 	PMD_TX_LOG(DEBUG, "port_id=%u queue_id=%u tx_tail=%u nb_tx=%u",
 		   (unsigned) txq->port_id, (unsigned) txq->queue_id,
 		   (unsigned) tx_id, (unsigned) nb_tx);
-- 
2.5.5