From patchwork Tue Dec 27 09:49:23 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 18578 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 13389F935; Tue, 27 Dec 2016 10:52:00 +0100 (CET) Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0059.outbound.protection.outlook.com [104.47.33.59]) by dpdk.org (Postfix) with ESMTP id B1423F951 for ; Tue, 27 Dec 2016 10:51:56 +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=S77kj4uDTWyKUQZpX9ApGwKkn+vaxFzEQrioSKub5G0=; b=n3uR4aLWEt5hA2/E5bPrvgZXiCC2jFijfOk9iSfi+z1v8n0VPbldsUjHo+Zjj8Pbk0/NB0kD0HQCWUUFTpP1mOy8z4GD0G6xL5pqNePhwunhWkpx0zXmCC6TL483IkqVLW1+pFeKjhc6q31oL2kWeGGw0+AD3dV9hzP5cpWgcXM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain.localdomain (202.83.56.97) by BLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.803.11; Tue, 27 Dec 2016 09:51:51 +0000 From: Jerin Jacob To: CC: , , , , , , Harish Patil , Rasesh Mody , Jerin Jacob Date: Tue, 27 Dec 2016 15:19:23 +0530 Message-ID: <1482832175-27199-18-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1482832175-27199-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com> <1482832175-27199-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [202.83.56.97] X-ClientProxiedBy: PN1PR01CA0001.INDPRD01.PROD.OUTLOOK.COM (10.164.137.8) To BLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14) X-MS-Office365-Filtering-Correlation-Id: 25058847-1ea8-4715-a9c8-08d42e3dfd8e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BLUPR0701MB1713; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 3:zkCzzXU5Zs39HJM3OdmcuCx8ziZ/XXuLMhOXBi7NmQyVQIoBeN1kU8HeZ6Q0Bq6jsMhQaF6kU26PSa7zqzKuXHXoLNcL1QFUV+/DX4EriH0mFKp+vxOQI1xFnHHxB0yarMfqIvFK4ucCsmvdEId+64fF4yiVjH2h59867bGq2RC7wWBqi6B7QC4CnGy34ceyBwPzj1Be5GWX0o7nNmkdyqL1bLaI0/G6VTwQ+obOBQ1XA4VSVVtMZtxRh7cAT8wbZR+0+r/U4RohxLh5TXck/A==; 25:F9EW0y6AfxCN/jRxDi9lKTli3nFemFb/FCQkebMB4K0pW4w0JdokWRz/of5q6NxKTR/wKh5eJm+ykUaGgaFuGIQ3TD/Kn09kixxoHGG8OwcCI/bhgWzTVFu8yUpP8BKX/U2JX8C2GmSeSUY2epErioW/eBP5MaMz6P8yALcV/aT/B4Xd8bVXW2zbHoZUBs3Zk/d2SsAn8hedIf+4IunttspLUvAiLl5U9MwSs8kBGDG20rzb11VQw6NIfohWTJE1Zw1yRks7ptwB6focarOiJsD3eZEdvQSkQ6ruNMqlth7Onk6/OQbnVOtKT2/Bdh5RnTTgdbQGKE1jrK4am0+ggwr5QJMH4mriQFAKkScTYeFyGT6IaepqgtGk/P4306L7gRdW8ds8uCuzo/5hyRdiJlAhVDasEkXH0tytIpHA+VSYv7tPYFCALNyGXzusywDD9eWht94lWMl6lgGv//e0mg== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 31:XFcf93NuaRPFZsoCM7zFLtsH0DybZb0D7CyD96f+/nL/e2PRfStyeq9A+wYcTx3tvUKrFiR+nkeJlpZ6qQd0Sd+Femued/YM1LJJ+afJ4tFc/d78rEn4JfaaJEe7CCF7VjkQra9QolmAxry0Htqnzf4mjne7epal7t1V/qcAHVI7wA0Rg8e1vbNc5XgyaT9lrChILRK8soOhuwq4l3e+xqMhMX1ubCkxVWBox4gd3Es0p9Hr45DGweGJYQ3/jLhg; 20:SYID1SPttS1YhS+AGGJ8voXX2KF8JYz7nCfzLmdZZKMw0NblC0C0Yy4f9YNLxtwhr6R7T5nY4BNatZ6Kcl54EmRwesxOPpwVesljb4M/xh1vgL6w72UxoQh/+0gkvacBiCuyemZF1ujnaxuFnBsa1Sic8eX/JlivJtMHmvnB6msz/V0f7TiYHgN55AQfJIGriCCJXfWy+4dg/6iOI43pRKSBTnIqJ5miRAL+BlqEIJkaPMTajRCUJE7pTY0sPBsD1fqYeDqSc+pJplNQo18SvnJ+FPVr3V2fRreMqSBQWdv9t0dI7YHlflbZW11ppk7gxepO/dw+a8flyJWB9G7QIhqX2DqYjxqcUUn0CAsPko2v84AznotJWcSrkBkgwuuTyurIoWa7EIiVaf26ZRaPMd5wy45YQ5cbi9y78uNTRKInOG+9nmBdaz3hFl0VzKohyqYnpAnjRM+TD+T5uKyXMcSlmPW3ymQCZlr9/UHDiCvTYN2yMKHu1hNCMG7AJ06di8URvoKFZgyJgx/HlK6r1tv+H2mtn7o+qHqCu4bMC4wwhmeZQnm/DtK52zPLAYU0z2tPDF83UthjKFaS+TzfJXRcj6nCLqfUIPd8yi4vuwY= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(788757137089); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123558021)(20161123564025)(20161123562025)(6072148); SRVR:BLUPR0701MB1713; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1713; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 4:oIoY3QcuYXzr2LyervGKVCLMGRzKPM2UIl8gE3uhDIhUUDdd6FoX2gO0uiDVe8fD+zCD9Xf1L6jC6b5kRJaAm4Sq0iMWW0suHvmzauOqV7M1PIBLH7q3ZHkL7q5DMj7mgt0tknog0kcbYtl7v7ZMfBpq2GyxToNPRZRqv5Bd0T0YcfaiuvMjXZiy0cySYnNaUh9ooCjzNjn5GAiVOpTjcAmrDRYi8m8dRDrjkmgp7w9ZDJsksA2yfNtztMiHPkao8XDjjk7u77FpwkMCUEQ1UW27dYa9+nUMIa0WTvtLDx5UbLMnsFLY9zY4Q7SS7pj1t+DVKtstyjM6lxoIHEQUMEoQugH+dRxBgwJbh4thSizGd4qNM3SUsW65K4rnlm/xxIw395KBfvsaCp0YGg4LPsiV9Ei4kl7WbRBIxIMLEUovsiJnQC3/W3zU3Ne7nvnSW7IvV5tjKt0a2xdIFl4SuIBSHxMDMdc43/EEJByYTL4Hy0pZlxX99+GLbcVM/bu99rsqDWAcmamvN1H1kbgMDdgrfHKEsUG1nx34ZfmWQl1gH+05Ac0n2n0dfivpg/6FQll2OARCNWiycciCwS/dTkjl8fwFaeiZY4IfH8ZbDLeZH6Aakemq86PWU98icEU8sa2impYygPRurCqvG9e5Tg== X-Forefront-PRVS: 0169092318 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(199003)(189002)(4001430100002)(3846002)(4326007)(6116002)(50986999)(76176999)(5003940100001)(6506006)(6512006)(6486002)(92566002)(2351001)(50466002)(110136003)(305945005)(8676002)(66066001)(2906002)(101416001)(81156014)(81166006)(42186005)(50226002)(68736007)(106356001)(36756003)(97736004)(33646002)(107886002)(48376002)(105586002)(38730400001)(7736002)(6916009)(5660300001)(42882006)(47776003)(25786008)(189998001)(2950100002)(6666003); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1713; H:localhost.localdomain.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; BLUPR0701MB1713; 23:YPp0UKpkM0DC52HBRwypuxc+eBgjDTvHPdLu6r7?= M/638VUgSc8jxrjubUw0mg9yu7fWM0IU/EyE2lvS3Gr8NltxqGY2ceibWuH7ABmjKoXqRxLoOd+prhZr+Dad4VmfFe4P9lDs0l/2zYh3236l1JMJaYzU7ZuDf2+BkVf/Y8PVEwLsQeVWsr1/MPgi9abzBVJwWVjFpfg3MR1p1wuayHegsX4cXXYS5WZ2hMxP7tIucX6OSXIXqrzddp4IlmYOCvjjtcqaEqmJP58fRm8DQzWxWp3nekzJfAwKtjMOXcWwzuHMY9F872btTyJsYKZ+gYxiWX99+bKo1T3+YXqIA40q3lh3DcAybdmHefC/O9ZBBGQj+yPqlxEbTsvP9CEEN5566DJ1b9ciycrt2cXAdS2FXJ0/kMLh++F5FYOCMNDf1t+HIpHB0SA94OW4a4HDr6nJEk+jVjg+5y+YV2VzCIeYC/VSqSTlJDw9iI05cWjJCQMxxlcLT2DgLMjZ7QTTXdxcrrNyc01+14WkS2mhS2U3Vrcpzy/UPE3KQTWVMeqfZkDMEOypRIN0yuNFdGUxFXS4rDDx7sspGHXAO5D23m3p4SXyFgQBdBjb9EdHl5hEWxzMmDqNCpuItItvw3lEeiMxnyK40VBauQR3S/dbvu0KI3Il0gcTQgeimS6EzofK6w7A5B40ZvYUAQa0r9iKP1oNNtqves66nTc03K0OD21iAHoS4tAHZTSekCfGokoeKtFxQvcF8Pena+IsxguCZ3V05QDAudGnrsq4LU62Irj/Z4engsjt0efDs72C6cAkiBSDPQQqSRzQeT7L7dF9Cy5x6q1bBghJa+3l4gFAxeQR5eUph7zNPjY+akT4vD99RCWz0/96p0V3BJ+KLiB8yIwXB3niFhPFJapx//7LQybDGgVzsKTLj5yDYvuO4cM4d7yTcVeayAM4sBe32Rlg+lO2DRLoodJpobsgOzT85Np5zKaQNS5qE3b7bOkq2JxkdFW/PI9qCmgw4TSFViY/SQlWAS/icsTiE4wkaFwoMYicS9qxL/QwhN/x4mC4f/GUoqA2+DzHRYhFjY4wmwQRVoo/BqDIzPfpHKbsl27YCl/4vbwgpwXbpRihlnJGBGcVWhgrmR3LusSnPaxQqJBMee7jNGLcZ0NUMaJ2RBJO6Lw== X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 6:2r2+Oc34uUNUtQRuEbLfTRBaTle5MHRzI2usszO587sbzVwqVg2sSxGVEf91NEuviLyY9xdXkvj9XqT+J7nCA7QlEf3g98Gc3fYBg90lltkA22yY/oalH8Soaf1lB7iCDtJtHMhRR8qlnLvyuTTXd7IVRLEpDLQ0ppmLoHt8MEFNN1SBDUjaZB4czB6ghqlnQk+ykMSfU3BQCWym/DG+AzQvX8hLm+DwXJHfQzWLLw4p+a6K5hd9f144OAsuEAIFFLq4NldqOTdJyhN1ES0WH2bZsP2KQqAoAclD4hfHYOliHdiz71Jk9EBeuWw2dQKdn9Hu7KlUwd2YpxMTCz3cQdwY7phy843ppAVYyxrZFobR9KqFmZj7YSlhIjF8ID6607aVPaKBmIu9L+mQVTBC803SBVk/kDXqOv2D5DtSmGY=; 5:PKH/pnxBPLu0EyCgRLcIN//wk+A/O/Rwc/A5ZQ3t/RCwfDt5leAK5OFCOrVDQFKHjmUToZc5drQjyzWPcGVoQLhFnCj9qKUdUdy/b5GrZcgkzovvWKK06Wv/Q7VKXZUEeeZwDqpISOHtaGTvGoXi2w==; 24:BP2De1+UXfS34Lth6t4OCczAMaxFI0Drozao9SVbHR9KMHUtMsf1oIJ/hu6Lo9AHCk55STcwtsZ8QiWbxr6Pf7GvGj4BY1ULMSypstHNgtM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1713; 7:n1Nlf44EcmFCmc/l31FgxAViySY7VU9u1n37sKemB41jqFglJ/gkDu9zv5jqIbRjpvJeIdKJ4cU4npK3OWIvv6M3BdgUR/IbRJane+u9PU44m+MhLYMLtX7UGJd1Au322sysprhoqa7Akg3TXHb51anaSHAUmJAIHSZKgHqVffxWT1Q8u0UjF6tkWAno0Sryn79gM0lLYF0B/3b1vG4gpoqKZNiXDmbDEg1J7sMDuhWbGNGuV3CqQGbJ3NiQ55ynX6NzCf3oobKCawcpasvGd87H8LpwLAm/QC0aHeBVs/qfMf5yfthf1mATUSUTK+FiuFxdYq5m1daud3QS4KpUMOCMTPrVnRlV0W2+WaBlZHkU+dKTCNwfaJyaFPfc1wRwJ636DL/3JFuy29uHxFf36cmonsZrDs6k+ti4poDft5EmIRH1cRmyEDMECpWxPwJLPemOIK7+yj2sh/hTTxj0bg== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Dec 2016 09:51:51.5240 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1713 Subject: [dpdk-dev] [PATCH v2 17/29] net/bnx2x: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Santosh Shukla 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: Harish Patil CC: Rasesh Mody Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob --- drivers/net/bnx2x/bnx2x.h | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h index 5cefea4..59064d8 100644 --- a/drivers/net/bnx2x/bnx2x.h +++ b/drivers/net/bnx2x/bnx2x.h @@ -18,6 +18,7 @@ #include #include +#include #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN #ifndef __LITTLE_ENDIAN @@ -1419,8 +1420,7 @@ bnx2x_reg_write8(struct bnx2x_softc *sc, size_t offset, uint8_t val) { PMD_DEBUG_PERIODIC_LOG(DEBUG, "offset=0x%08lx val=0x%02x", (unsigned long)offset, val); - *((volatile uint8_t*) - ((uintptr_t)sc->bar[BAR0].base_addr + offset)) = val; + rte_write8(val, ((uint8_t *)sc->bar[BAR0].base_addr + offset)); } static inline void @@ -1433,8 +1433,8 @@ bnx2x_reg_write16(struct bnx2x_softc *sc, size_t offset, uint16_t val) #endif PMD_DEBUG_PERIODIC_LOG(DEBUG, "offset=0x%08lx val=0x%04x", (unsigned long)offset, val); - *((volatile uint16_t*) - ((uintptr_t)sc->bar[BAR0].base_addr + offset)) = val; + rte_write16(val, ((uint8_t *)sc->bar[BAR0].base_addr + offset)); + } static inline void @@ -1448,8 +1448,7 @@ bnx2x_reg_write32(struct bnx2x_softc *sc, size_t offset, uint32_t val) PMD_DEBUG_PERIODIC_LOG(DEBUG, "offset=0x%08lx val=0x%08x", (unsigned long)offset, val); - *((volatile uint32_t*) - ((uintptr_t)sc->bar[BAR0].base_addr + offset)) = val; + rte_write32(val, ((uint8_t *)sc->bar[BAR0].base_addr + offset)); } static inline uint8_t @@ -1457,8 +1456,7 @@ bnx2x_reg_read8(struct bnx2x_softc *sc, size_t offset) { uint8_t val; - val = (uint8_t)(*((volatile uint8_t*) - ((uintptr_t)sc->bar[BAR0].base_addr + offset))); + val = rte_read8((uint8_t *)sc->bar[BAR0].base_addr + offset); PMD_DEBUG_PERIODIC_LOG(DEBUG, "offset=0x%08lx val=0x%02x", (unsigned long)offset, val); @@ -1476,8 +1474,7 @@ bnx2x_reg_read16(struct bnx2x_softc *sc, size_t offset) (unsigned long)offset); #endif - val = (uint16_t)(*((volatile uint16_t*) - ((uintptr_t)sc->bar[BAR0].base_addr + offset))); + val = rte_read16(((uint8_t *)sc->bar[BAR0].base_addr + offset)); PMD_DEBUG_PERIODIC_LOG(DEBUG, "offset=0x%08lx val=0x%08x", (unsigned long)offset, val); @@ -1495,8 +1492,7 @@ bnx2x_reg_read32(struct bnx2x_softc *sc, size_t offset) (unsigned long)offset); #endif - val = (uint32_t)(*((volatile uint32_t*) - ((uintptr_t)sc->bar[BAR0].base_addr + offset))); + val = rte_read32(((uint8_t *)sc->bar[BAR0].base_addr + offset)); PMD_DEBUG_PERIODIC_LOG(DEBUG, "offset=0x%08lx val=0x%08x", (unsigned long)offset, val); @@ -1560,11 +1556,9 @@ bnx2x_reg_read32(struct bnx2x_softc *sc, size_t offset) #define DPM_TRIGGER_TYPE 0x40 /* Doorbell macro */ -#define BNX2X_DB_WRITE(db_bar, val) \ - *((volatile uint32_t *)(db_bar)) = (val) +#define BNX2X_DB_WRITE(db_bar, val) rte_write32_relaxed((val), (db_bar)) -#define BNX2X_DB_READ(db_bar) \ - *((volatile uint32_t *)(db_bar)) +#define BNX2X_DB_READ(db_bar) rte_read32_relaxed(db_bar) #define DOORBELL_ADDR(sc, offset) \ (volatile uint32_t *)(((char *)(sc)->bar[BAR1].base_addr + (offset)))