From patchwork Wed Dec 14 01:55:45 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 17940 X-Patchwork-Delegate: thomas@monjalon.net 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 3FBA9FA3D; Wed, 14 Dec 2016 02:59:23 +0100 (CET) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0081.outbound.protection.outlook.com [104.47.41.81]) by dpdk.org (Postfix) with ESMTP id 7B942475D for ; Wed, 14 Dec 2016 02:58:47 +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=1CjsFFoADGkvXx+P7VVn9p8i8hqYQDq9wxUChjgrz+E=; b=cAGzgWza55Kcbiqziqaa77wm/xFxZR2z3Swtu5QMhx9oqRt9SAq+ZOa6M2TSDL7ebM4Kl/TgJOYng2w3q7jtPAngNWhXABCAd+DztQsgeH+Si9WDZ3MkhjEGHC6j0JjrIbhj/++02O0p/VgX14OhnCitPQ/xc/+mWmI0i8CHapg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain.localdomain (122.166.91.229) by BN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.771.8; Wed, 14 Dec 2016 01:58:22 +0000 From: Jerin Jacob To: CC: , , , , , Santosh Shukla , Jerin Jacob , Harish Patil , Rasesh Mody Date: Wed, 14 Dec 2016 07:25:45 +0530 Message-ID: <1481680558-4003-16-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [122.166.91.229] X-ClientProxiedBy: MAXPR01CA0006.INDPRD01.PROD.OUTLOOK.COM (10.164.147.13) To BN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18) X-MS-Office365-Filtering-Correlation-Id: d3b3d636-5f82-4f05-1bf1-08d423c4b15f X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN3PR0701MB1719; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 3:Z7IGli7gJY0c9Nf+x7LUZo4TZDy3hdQPf02T8dMUxVbnnLSckmG2iHS5uDuY56dfEeiUdhjPaM2SiL+tvzRJVMw9E8tc/41rGMKNsb+aubYU29VBpkJV+zFZ/6DktQF+wI+ryW5rZXTJ27t7/vDx/btjrHqLOUz7+hf69ZkaNrMhgG0wH0dA/sAavkeWaxjBbTnpF15nM9+NwBjkz07tK1RwWNTkoLQcKgjo7r5A6AlPNc6vzLTuRqpJXv6PLmuZ8FCrUveh2sMJNZGZcgBpsg==; 25:q9/j8bKdY2ZOwg5xjCGDMO2vPcsj2m22R9ngk+3Jmzmmbr+ZcAd029dj2+DjuuVjfSJrZi1xsXKO1J7kRcu4GjL9zs9cC8IbnGAEOf4C7bHT5gz675d50HMMXYUA0P9CLuObjMsJeZQHFptFRP2wj5NnJRL/LNH8j3jdjaU5DcS4t7ihbeVz6ngxL7hAJr2y0Rhismm4Bme6Pfz+kQoP8gNMZCuTEx1xB1ggcfRW1SQnJVqmYpsSepArkABTDe9hmGpfmqTZzFDgEoJjIn3ExrfeYSaS5+DEBJDkfRgHe3r+tOAXGOqXqZDsdw4+k4CJ3EtTy2bQhVdX3j2qxM8ebUfrQbhJzU15th4hnZX0J88zOIfaZSTgQaIUsOtxb+GTmtdiXN2I/iTUt+fy8enh0Vs0j3eUmKq1R890as/3vw+nbgub4LanyB3OuRchZLTcp7eiM4DanZLuh07xCI3X5w== X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 31:TorEO8QIuDT0ejWzophOhFkUSOLYgjaZKrRJoApB6sXU74rZ6AXy5mia9DIUs3cZH58cXruB6ChtJSb4aldD5tMgysEwxBgPNsPg/1W82uIueG4++NY+U68/1zkzXkclwPACqrZKeiFBO3AmMRH9WiJUiyIEQNHqAWcIBcrV3DFF9+YsBKPnuuxNWVLpjFQ+6N5JUTXjkoJfEu6UU6zGtvElRCqu4AL8gfWMSKXLV5fp4cCYVXiBBP4OQf1pAWZ5; 20:lHFb9/cvPEFuvlhs5kcrwQx54PVnrUcc2gXwyaG9nH5+rOPCXZPgGl2uaOFurh53TWSysKtijva2VQa7NWtNuRIglBRKdmkCMgPtFs2wmomLeq8PIm401ipnRQHQWLxChAE+G/PorokuhScNqtZMJaXN1JCSAqWz+FrPnpppc1/5bnEoDarRglSmyETS1bUM6N590B89cygL6zZzh/N4jnSuK5YreAiHbp3y+JupRJiUym/74CMSI6L9YQkygzwkh44c0gtVZv+x2N32PqNAThhPGQ3HO4iGLHsAT4A8etQolGNWRMEwYp2ayxg3rT2egW7Bz55V3+eUCyLs/a/9qy97StIw7q9MuEgTSe+s2SE5kxxKWJ+ARDOfS4utNb547Npf9l0uxVv7RrAE2t1C4m/ox0NWxwc4sRQH47lq8w/lNCTees4SlyzwFWIL8jobpCBu1Nkvg+qvUkn8nX7zFlvdB+jfQ+4Idr0CujUsZv0hMoHEufXYX9Mpq3574R5j/kuZBixIeAc1SLIWPhhOgXrweQ4t+4P4QYle+GwmqN72SJmPVGSKyO0OqFNmEnHxsOjkVsaL4QWtU+rBUSN/IzqG9RyaZV3vtVOy5MYt/DY= 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)(5005006)(8121501046)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(6072148); SRVR:BN3PR0701MB1719; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1719; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 4:taxg2tQXMcAaG/QjiBDTLCqMgJccfBdU9NvtMuuMFDSmnA5fjBDC3emAlmy38jKhTVYvgJvBK6v/+NYu062a/psGJYowHbY5nUaJrf2RSYL3hsiPK69S3HPffeSQcf3lY2CTT5YYOEK5JRUSJzhTGWtKxbRrG3R3qhJsTuqMHa25xFyvsOxQUddO2tLAzDA3PcOZ1Jl6oZHAcGGZHJc+n0fqemRS1KthsTatL51PJISDVx5KF7SpQHvrH5Tk4VapEOk55aGGVefC17LHsPmdh2I4BIJZbfHBKGX751Ow7LlMoI+zTUf99Geep2bvMaykyVij6Gzhu25V3VarWZPd0ls6yZaAbEBWsJtb4RdNQW1uRBrZ0qSmNUohEUFAkAw+OSU8QVwVO5C0hQU8y44v/128i5QuZ+aEgkZexsbH+WrH1IFd1e5fUCuBKTkW0CTDA7Ja8PwwBM3B6BwnItfUgsBJ62wUpDEh6IBMtXup0KNpVgY/PYl3aLHtgMFSssidZmePL+YrVYXfI/gaStT2qQvkV6WglSpdj/9uCWGNK4conm0Kkx5FixRzIrRYpYV5CmrL7xOWrfAbL3HDLgRnPKnAmmRsEH1QqTDBBK+oKlQ= X-Forefront-PRVS: 01565FED4C X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(39840400002)(39410400002)(189002)(199003)(6116002)(6512006)(6506006)(6486002)(3846002)(66066001)(68736007)(47776003)(92566002)(5003940100001)(50986999)(76176999)(81156014)(50226002)(2906002)(110136003)(33646002)(6916009)(101416001)(42882006)(2950100002)(6666003)(4326007)(4001430100002)(81166006)(38730400001)(105586002)(8676002)(106356001)(5660300001)(107886002)(305945005)(48376002)(97736004)(50466002)(36756003)(2351001)(42186005)(7736002)(189998001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1719; H:localhost.localdomain.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; BN3PR0701MB1719; 23:3pDoDa4++2LMbcQJRQxcft1MngZd9qi0RqnyQ3j?= ldTXu6lqFqmtQiXZ9GiR+Yp9lH4HEzrOWo4Y/sUKuYP1w9VgCX3j/a+9tVMQdvkttYRp3Okxw6vTvpiGg8bt0KEB6sj2mTXCy+32jP6Ylvf9Qni16YbDwFqoFQqSRQ7iaer/Gqq4FHZV919EQj6UAJMHAfdyL6Mj05HXlAZQ47vSMgMshT/Aq2yloSLyUgz7fHLy5ojQKEX3fllRJZwXvXB1A8fEcendTq9Wop0KqIiVHTSg3V+gaynOmD4DM2TxON8xyXfh9Z+DhxnE3jtXG6d0DVBdoPj1fDCeNXLnJXKUpX1FuNux6SCXhQdlJHgfztVa54WdgDm6lsGN6SEbJmfSXx/et30sV52WtVW0QyS00hsPdeFGbPuWaKzerEZ2kI6wSQCpZSE9RZjFrpIeAW9AHl8NO1OPUPy4OO2yz4Q2mWfSLV7xmXhtl+d58v4FrXLRLQ1O754E9HJr2GieStBIVf1fZuk+uYD1EHXoEc9tEbjLZtO5HA9uwOb0kiB5W5u2VOvmMZHO7qWvXD4V5UIuC8IACZtZf7njIVoh7AR38CRs1XBHntSiw4M+e32jCRggIm8rDy+pPmqB13Jiw+9vPRAohx1uzzFmJqposI9JpiklcSSxpNsziSGMoqxRf87lI0w/b5ru0SqnA76cs0zjANbxOcVH/oHrsPObucXBeUCvEXQ1OhEBEwm16r0+/cAef3k+8fxU0ERutzOxFCnV0egPQxCTPhysSSGSNO0wbvGLZR2KPLSJX6LY/GJdhceSbsIAVzwLMnJQ+rJQM43YSwyH5lgefWx6R2+q+0SDtvv6JwC2XKgKPoNyixX7uJJ/NDndTkvxsDm1D/LXzJ8DEqXqY1NutCIVpmEqi4tF9wm6k/RD0LXxk6CnB2VHFY0CHpS4RquDCxLyDCleAFOHzHLQx3fdjc5Z7fr2GkHEroHaWpMWrWqnnV4HJJRCamkngeB8iHiECXqszQxm5ILOgXmoY/eV3DcrwPCtiQTbFOVzS7Y3jhQTIyChJfusPt9GXU4FcDLpoSSL535qQwzh2OrNEUs8C+2/Yrne/1JLoSgL3q9534cpMpaPYstAOUIKP+XRR2uGa8d8FRUh042y7XtVaIp/ufdcuf0PffYzbRG0LDQgpiUxlVOmw5pdNcIbX1fVLd5iKqv0/+QdKVLKf X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 6:lj464PyI/9SKA3tYGCwOYV+JfIjdqHWyFPEk+v1pk+Gvdo6JTKT9JCKxXoAZxTy8/Vzzdblny0AHoB4R24B4SKMaqRWWgC4TC543JbThntDKSkukgWWDw3c9bpZh0OenCCogHTTqPo4wyxuGAIYoy4qP/PmQOhxyy4LaomubDNe2PA/KPBIzTlZjvQBgiybi2368DJhYT5WeVvb88tuhbQ217TKopNt6IShLWmqUZz6Yu7dshOiquk6F9WOtEgY8dMm4z6mwMHNaA2oHMqYew1/7aBS8vskoHc/DP4l1ulbZ3iew5N8jhE8TpHoFH6XJq7KolVEqlvYS4XzMZrBh/XJc4ljEfXTFeqMs99o0qko7orj5VbvZzvdh+JtKCwNKpS+4YdLTJgJq18FWcW/y+4x4OHJNBlywQAVOEasoAm4=; 5:tVLj0DQM1HBz5Pk/pCod72LUYGTbscBb6tM9tWzvsjvLsMEdshi8JJ2+8qfsDSM8L2yLN/mQw03K6A0ppMBPTRVDFvoscFY+0QPH3c2JYZF23xitcCPBk0Dfyl3hCm7SM1ON074Yv4mSbPmm6+zx3A==; 24:1b+zBbkICKkhkMbE8IEWp0sw+6Yt4RbvAYBFA//jyOmHQnW9H0Oj1RVTl6m3chqwLtMSLhYPybGTngUNrp4yoJXLl28KgcdkbJtpwQMb0mU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 7:C1ymYTM0lyz4HKz/03Qs6sGlna/uxoh5GhJSdPp2nr7uAiToU524zOxN+uWWeaU9sEVUMI15xsZc1Sl6tP7hMNcaGcmzxNL4uwy3NBRTDTS1yrFFuibUWOBwVAFR3/FyEZvzxCZ/UZg2H09hULY6UZnHoZ+2/Vkp4HvDMtj/bLaf6hKrzc3BmfqfJ37i2m5dwU9lzF68VrcfzBaPcrsg4bxMgQTeWEJysnJO3xOR7NXv3bOy0dZMukGUYcRRWJV+0bXYdV8gSEsGTpcTFtW1z8dZuR2XQJacYsdk0u1wsWCTgGcbn9gWfPT//fzo3HOo6rEPUogL0jJTDkyq6pf49w4Ovgy38bwSXNJrXlk3c7P4ksKfWS5oEZ89LFqBk6o2cs1xXQSDJqLdBccydYvThNGKBEhgeR89sKhaQf700++e2b/pM0aHhOxC+w9H0r1tsHMBQp96pt8vGSLQBA34rA== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2016 01:58:22.8517 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1719 Subject: [dpdk-dev] [PATCH 15/28] 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. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob CC: Harish Patil CC: Rasesh Mody --- drivers/net/bnx2x/bnx2x.h | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h index 5cefea4..9b6e49a 100644 --- a/drivers/net/bnx2x/bnx2x.h +++ b/drivers/net/bnx2x/bnx2x.h @@ -40,6 +40,7 @@ #include "bnx2x_vfpf.h" #include "elink.h" +#include #ifndef __FreeBSD__ #include @@ -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_writeb(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_writew(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_writel(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_readb((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_readw(((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_readl(((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,15 @@ 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_writel(val, db_bar); \ +}) -#define BNX2X_DB_READ(db_bar) \ - *((volatile uint32_t *)(db_bar)) +#define BNX2X_DB_READ(db_bar) ({ \ + uint32_t __val; \ + __val = rte_readl(db_bar); \ + __val; \ +}) #define DOORBELL_ADDR(sc, offset) \ (volatile uint32_t *)(((char *)(sc)->bar[BAR1].base_addr + (offset)))