From patchwork Tue Jan 17 07:13:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 19516 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 CB23BFA36; Tue, 17 Jan 2017 08:15:59 +0100 (CET) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0041.outbound.protection.outlook.com [104.47.42.41]) by dpdk.org (Postfix) with ESMTP id 6A964F94B for ; Tue, 17 Jan 2017 08:15:57 +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=FZHo9sKiQC4UNeAOy9UzYmf8xSwF5zcTVVSKln9elQ75B8OKIP15s2a3CdOxIwWSwYXNe46WAGFVgm0kTNfmsKHc/T/4WZTaDYTTKs/GKYGF4bQchlEMKLqL3pSgdH0Tfr6TyFvwULcYteeYPItkp9/orHNASWZV0iLUPivDR00= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.caveonetworks.com (111.93.218.67) by BY1PR0701MB1724.namprd07.prod.outlook.com (10.162.111.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.845.12; Tue, 17 Jan 2017 07:15:51 +0000 From: Jerin Jacob To: CC: , , , , , , Harish Patil , Rasesh Mody , Jerin Jacob Date: Tue, 17 Jan 2017 12:43:52 +0530 Message-ID: <1484637244-7548-18-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1484637244-7548-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1484212646-10338-1-git-send-email-jerin.jacob@caviumnetworks.com> <1484637244-7548-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0030.INDPRD01.PROD.OUTLOOK.COM (10.164.137.37) To BY1PR0701MB1724.namprd07.prod.outlook.com (10.162.111.143) X-MS-Office365-Filtering-Correlation-Id: 2951fb34-23f0-467c-5e52-08d43ea8ad6e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY1PR0701MB1724; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 3:NFjn5VdZecWoSLsKqsyIfQenKTJVSuLnvLLPUvNSM/dbOu8BWG1LxveUvVb2vdaNVaEWE7Mo73dW2iAAdl6ngilDJjm8SQZPbBNBcdkg/W5srMjzZ2l1/0fDlw6Hd8eBOHWLvSZN2x3flaqXGfu/Re3/ZRjITnYoaBNQ7YSlJraBjMxf/fIFxmOTaSK/Tkt71byhSD2/g9AzZbc3iJlBs/IiCA4Ll0ji90vn4CDU/TRt827Mhv447K2C6ebYrTuLrH091m6t/4u3CsGrx7nDYw== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 25:nnnHRQa7berp1+HR9fFAs65bnnaEahcUNWRPvmXYDsVDEwgHEhm1u3XI4FtUMM+ajv6bqPyfMijTyqLCrsV5HSS+uJ0EHB8QfLFj3mr/uYmjYzomtUJlDAEJQb0QqOsaQjL/V1BoSfqGlDL/9Erx48XTYRD22vJHZViO7Ebm4oOqXNbFBJw6GJUTy2AT5Ox62Ru+kZ+RpTzfXJsxpQsBox8qoA99Q5byLN61mFLQhSp/Gb2Z05xlG3cvbmmKpKEd6WYrr4t1IvvRh3RGJB0W69NQ2KoyLiVwyIz/XJBbnrKma9Bi2D3yfO1HbxJwxKxPxY4Oq9U4gzQzBhKd35IvSP2g/EiXjOlhatKLmQfm/f2DxHJ23P4049+FdZONUJage7goEcJgLD2jsIfI0rkPAyOsXkHY5SIg4PB5gfHTtjx1QuWe5UE5TXgAep+nxM4OYDIgNVLgrJx0nmdkm4a38cV7t/Vl4h9zWhCz+eFh6Lnwsi5O4j3qgIUiBtO22R3eeKvHegch3eLnUl74rl1LgYmsUHCPmiHKaLNUzPwKB98Db8qbxS9zejuEwFBf5ccakkp68duxKIfBgqdbYz5nnmPwlbCQOpPEV23ii4lGocwfCCHw32eQCbrc9KfT3s5oEAW4+bg9ke8jfzr/ACBQLPmi7SRGveuYZL0XgpuiVlpw8su60PqqMlh1lXsmHVECnzqPZ7y9bkXFwpozA/Kcb/0gGPjEJ5kpVEY4iOTfMqOy7UfTG6p8kQ+8Ja4OKqbHp+tjUzN69S79idO89d8CfJyV1in9fkujO9Po4iZbMiCjLVkstekStYCSjMjNiR9v X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 31:J/uvUwENJytMwPSDBEl5uEo2UzX/PdYU1LtGtOvSd8ieyGe/kRhxreEXPa6kdauJ8Sggj3h1v+I7n2qJe88Y2ofwtWwuNkOimQBv7D8wsXkiTuoHqtOiZg9smPR5Mj0McnQFEuinb7XqIHIgFUH0bOTN6r6aDGJZU5+Fu6ibmC0WGNegAMNr9WoISZzYFBZF++DIwXLTyx034mLR+Y8PYq+hpRm0IT3VnKU4rmFDlXgv106KEEos7W7qmYJaFJP/zp1R0djlG/UxwC+xx8FIiw==; 20:qVDTYCs92HjeU/b/Tq/ZKuO2XBJGZUtfZMdDdT3f2K/Yq1YDC5JQU5K53W/PHI9Lk7IuyvrqbloTQnfdaJZ6ax8JJAPVonvM0rInvFpGv4r0IsMHUKBKd72PdNSZv7GJbMrp6bPcVBoPlVXwZPGUj5NKNORd+reG9VuPqJp+nsH4nE0EF5EbldWmkj+Acxbj4IHZfp1WU0033ro/lmHK2s/IYeQtLE/bBEOoI9m8lGLUq66zHZu1xwIfMAaU6u76uj/kBE1RzTMttOnDrLBr91km9C0zmUNCwkSI5Pwujj6x/fjjMJ8NSs9ek9WC+S/yYnm+moLA7OtuKlCAybQf0MrAzYDB9cHmzhRb+/9VoB6xAjL4Sabo5zBms6lVxFjyOT0A7Q7d9oX5JcgIKkDkDptaHpF94IlIoEDd7cumcGMooKVCnmFhENM0cbDAOdye4HEG3hETzZGkcYKN7UXqmGU5Xu/h5FT3c2UHjVrabHMExtgfCRVK15YT4Vw3edrNBo6O/MjGGLcHOE901AeyOG8/dfjZSMsqXWH5OOVq3zbGzESrarzt6b+1s8grm9rXYJrCFjW1FKVk01ZA4SucXCqIHh22xYPlU1TnckWgXzQ= 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)(3002001)(10201501046)(6041248)(20161123562025)(20161123555025)(20161123564025)(20161123560025)(6072148); SRVR:BY1PR0701MB1724; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1724; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 4:zcD9DtVobsreDhg7wYyb+/c3XNiZCP33TfZe/GlxNPKAcBzonRF3zWDXSfJ/StM/AYBChAKw+FurnKXuTmur/EO6HQVy9ISCWAR/3agS8qCg9ji1IbERNX287klX8FxY5z0GosAAXVaZdnj9N89+D7XUcehY01M8uDILYIXleLuvtKq6hO1y9762X3LCA0AvHWNaDQ18mm7jYhr7Gy1/2j1m9ZWJKcqn0dvsJsuhyqZt1svWWcj27uBl2Hyjp/FG4SfteLK9n7LqF09DIjoOGsC+/JD6zATRMUDoIlUHb6xWFzLLXVHcZuO9OoaJRnM5NyvjUvizlPa55nCZANPP80/QPkFymw8bDBR4AcyZW7xCGhR1vJy1drOkBpXL5MdxVr62Wn1oFjMrXtUZ2VapHiXaB8EH0eCIulVLNPY6S69p4YzynjKdLZNKizMCjYLPMDQBxMKghfWxU+A6EbaP+FcRHFx6Zv75zdPjjj4Yzit4XiQgXhEIENM1r+1sgs1Yma14jcez6Q925Leah1RstcCL/rAbPeaKemNhbF62noQGZ5LxuJcRN96IETsVprBxZjF/u65M1bFioFc+N8KWRSuzDgT8fIbOdiUqOOHmFXI= X-Forefront-PRVS: 01901B3451 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(199003)(189002)(2906002)(4326007)(76506005)(107886002)(53416004)(189998001)(92566002)(106356001)(38730400001)(47776003)(25786008)(6486002)(54906002)(66066001)(6506006)(305945005)(7736002)(6512007)(5009440100003)(81156014)(3846002)(50226002)(5003940100001)(68736007)(4001430100002)(6116002)(76176999)(50986999)(2351001)(97736004)(81166006)(5660300001)(8676002)(105586002)(69596002)(42186005)(48376002)(36756003)(33646002)(101416001)(2950100002)(6916009)(110136003)(50466002)(42882006)(30001)(7099028); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1724; H:localhost.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; BY1PR0701MB1724; 23:lT1auea0uMWOCp92PIFMQQ3BwBnS85c1w+uz8bK?= jCawzKIM7Jr5erIR+PREDqx1DfYz6qQAYFhFpYyVecTEJ8s0Ptk9sGbCL5pOXlhUgR5+Fc6nMLvEdIDQqYmUWAnC7f140Wct3a+dX4pwxEpgqMJ4yYb5zW445RqEuwNVNvxxBodcG4icOSuPXXZmzAeeEq0GSsAmL6CAYwzL6nlUJtkQpsDW8jCGMF5mO+/daL/LVjvNUzxDUt5ewVf2JjN3gkDJBNiSrhlmizJ9ulQlji1Svd3MPT528J3qs4TZFaKsnQBgqjZ6jMbzx2ocS/kq0y5aTruUIrbY5vN13AExj8IlgOaxJNujltycMXjHT01Hioc82/ammazcx5/HT/t27ym6GcsiqQxd/ObJKM24Qtj8AnpJMG7zHHivx5m1bnF/Ts1MjJGlHBxaE0/R2G2fLz8+fo+C6mIuIl0Yr0huwWNfUDoScXj7IKkdmqs2AbHd9BDdRaHEWTexFtXmL0Zf9Hj89EytOLYp42UVu3Q8uMhmpO2RYzt42PyRXmdwy2/nFPfH5kLsBQNUVCHGLtZEoNKbpUOkKOMMd7j8EgHFY66mlG8u4M2T9qpLZv5g5OavFkfiPoNBuWrtCSosBEz+k9HYKPx3VTHyp5OKVZZqZAzagucZwWGd9FqZXc1lBbybFRq5/n9FrwsxASt7BjebdYPfO6KFIgkhF9w79rMtk/qWWgB8FljjAlYJwBlyt5gbzaVX130OHNGXsZ5zI0k5Gfnqu4+NaILil2YT1cXV7hwpB2e07N9OH0UNyGdhtEvoreMw1zB8PzU0t40SI4fUnRpchq6oUfLgtWiyWd5Yfm5RPGFuhC0JS6tod5kxW8dJGcd0KRdhunmJcnNyuaBrr85aOtqc94CUIwMNJ1d2zdcj7+eh7A2b1s3Ak5BsmTKcKjSlScK/kixKlsDi3xLbDGeGnu4S6ftiHJaz2svWHeQRtn4QB6+ES49ia4SijS0W9l4CxxbT6Ce4v3iwzbueejD9fcL7/TbiA+/4DBMa1WjWT+kHj6z3x9NfaRZEdtZl5PUed7qzEB7r8QOA6TldMxXibybMyjrw1kkhM2lbccWnW6ODDKuTLH53rg1z3CYfq4lGHuTZhlf9HJIugVLIwWaB/bdvwwWdSR+ww9uXw2lKJOpKx4v3UkKIxQN1+yT4VLrZy19icSsu3XlWkuYQfTXBtxIJzpyMk5Uv0Cl3bkNuMi6sU60ccnnJ3d2gdkBhmWXNWz8dysq4BIOOuCpn8znznX9ifGSE72gXHl1MLcw== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 6:WoEWPtPM9mF7lz+olCGbiIOAJB6L3+KPziFF9TIeBCgBSbMeF/kRlrctBd32fp+lY1jA5VUrCjbCtRb1Ws57fwipUyznL2Dg37EViHwft966aqQlMsCB0n2PGaOHmBAsb0I/+9GO/yoI/LA89nrnODtEhPwP/yyDJbbVybeyfw6gLez/JLU+H0al5HhKqrlCZTWJGOFMm1OaBfLYJaqdnKibjKSO2QOwZ+GhY++PFVibF+ic357ZPrxFHH94gDauV1z8U1/U/7IZ7dxgsZLeDNPH9L0Ex3J8tVIUszRjIR1L7P8RajG5PY1SK17hISSwyw9E/NC6vLcDpAqvUlEYgLsWfalCnAoRFrmu6cUtKfAYEHvlzIVWCbwddXa24rwFd02aU7NvKdI4sb7a4+eAWhcIKHpNRW+oWPjJ8sGqIBU=; 5:4h7jqf81ovm8fbX6smsPohz5StqNyeveyl5talZAsCWh73sArf99sz18JPBN8QklFY2wzqkJVLsX2ZZ9Qd59HDlrPvLZIOcvL8IMUbxnPWhmuMWJSym1uWnzaIHO/6tJ4O/keqIaHnX2X038vb3pZQ==; 24:O2qw7AA+cy4smwqflwWVvAW8Euh1wr4mv1kmsLKLJvlx5mTnUy9gOhBssTTQGXdYAdQ//WtSNTQaaPfmconuxr7EIECkEw55AMLsqPDUXwU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 7:7JW6044fZDHreo2F9hI3L5OdYWVfSPSAQQZUPeJE1ZnWEXHydlqBzuhLpW2nkorSt9XSW6NYy1YgZgRAt4Xp7jWEUGyV4C4DB0zTx0+CZp89RKiztMRWcTQC1+p/MGYnLBWyYGxv75hZuWc3ZQE6bZ+X0OTG3f05kaTs7KwIZ5sHon6Hp+6JFX6sd+wYnggJX1r5AtxfGM8kZn8Xz1750e+r0GZ0khj65MXPaJPI9K+3ZH10hFiLo4wp3EEatbLSXCaGjXRVFrYAWUb5+CEAircDdTUdZozRt5VKk6SGS13B7WcD0ggjfjUeUecxXTnZ4fXu8S7/tX1adJvAYPYqLC2NYN/dNQe91UTbwJfgxwiZnzmob/qzT7Ki5F92BcV9v70J0l8p6sw2Mkhwm8abtBrlu+wsbNKOBRDQbhCXAEJA5DatbXA8YZEHza67+4jn7FhLMifnqZaVeIJZBi1ZAQ== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2017 07:15:51.5182 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1724 Subject: [dpdk-dev] [PATCH v4 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)))