From patchwork Wed Jan 18 01:21:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 19684 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 5BA8C377E; Wed, 18 Jan 2017 02:24:16 +0100 (CET) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0072.outbound.protection.outlook.com [104.47.42.72]) by dpdk.org (Postfix) with ESMTP id CB7FBFA56 for ; Wed, 18 Jan 2017 02:24:01 +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=SSMB37QgESp0f47vkxHKo98dIPn2ph8HNe3wIhNrSsc=; b=czmXZ4N18xa3eenrLlXviygYEE0VnUp0k09JBp74SB70kdZPpCBKi5OKxpOTdfQNBFJjHEWjzB1J6UTEU0ZcxOLcjsvciMwtTm6QM5+0FwfjPq7RzJvg8BWkBvpKe1sBATrRaU+T02qo6i177TuvwS4nX0oByMjYCaimsW8d3yg= 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:56 +0000 From: Jerin Jacob To: CC: , , , , , , Jerin Jacob Date: Wed, 18 Jan 2017 06:51:40 +0530 Message-ID: <1484702502-25451-28-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 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: 8dd28fa5-c5b1-4107-f8cc-08d43f40adff X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY1PR0701MB1721; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 3:dp1UsmUCpW0xjVianaf6dyAuALioDqgUPsYDVi4jQswZ+ogzUM7au4dqHAPxcXabz0SwieG46bSr0kyXdl/TJ2+JxFVoTB2S6aktGQQgm+dv1b60UuBxIs13HNBcC7KRdlfoT8QUQuvNlT3arVcVtb4Hq3JisP1PmMMsj7FJgf6Z25i2MLVb+EgmlTM9rrnqJ3WZkTrLe5Jqa0AzvnFwHwfPohWs1tL3awv9nCtr39clcrIyID9FVHGajTu9mxHhsog6DCAh41Xrf1VqEsna7Q== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 25:KwkynwQAbWyEbUJkUPZQT+Tsyd3g+8iBtd1R+l8jgHzZerbLUMHMcAix8h1NGvPV140dPCkju7kXP3owS2cmPBE3KpMCe7r9zGu8uSPyKvAng2TJL175ym1YzW1CVJqazBDD5ISTSAOz1LfNF89tTJqovcjEgfG+gIX0ahTVQH3P+cGbvkzSCRj9PPf93B2A4aYE/HewwgScUG3YlVOl6VsqFx2YMWi++k10fWH2JvV06xMRiwik564ewftvNsNsLIapPmpX+SyPV674h+o5t9zZcWnNKgzFx7YHvMjP0R3TrM5Avu4k1QlBKWWxV7v+rXsU+IiZed3S26loCVNfT66EIcPQAqBi7eqPwq7F91FL726cKnl6a5d29Kgzvct9i584SVHkW3BRaLTrtXKRq4bD0yiyyN7qvjy9Dm06m0GUmRBwCHloR5mhIMz+YjucWyjQIsq8u3pkMR43HWOc+ftUAvBVJLtaCJV1XIzfB/aZKRJeqxJS5cYK6n9Mz9XWCh8uI1ZRF2juJg4Rd6oJ4TI78Nu3BNvFFdbGOPlSaayeCBZhHQXA6hxxPwJhnhJTXx0kbaMb1L19z2gNR7eNLtFfFjXYVW8butCICA3ULd2Zu1B6BWCp8GDc4C4BhhQMVHUP3MXAqk3afmpYqAAsZPmj4Oup3GuEgnRJHCz8GRkEXhai/gYQDwI2W6y8j94SfDvrvqMY/edoJL5qn1dU6moi/StzpfzvtG3Q8o8bC92iBQm2DFNLouQdOnMwD1LFG4NYGhkIyjKZXA+/82AwC6zqQ8Ss4h1unVoxYXeOS2g= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 31:vIHTmsRLzTiVFxQP6C6WZAib7V10+8V5VVbwmbpGzdM6r55hwKiSQ2RoyGrxti2NZQumkDnKSbT9jnzjYo5QAbYiCyvXZjjVVklWHYI4xCIU5bmJUlHLW18o0/EkSwmgr2m0VIgwF9l2EefwBzbeAYVFYGZSeMwpAANyskIOPsR+IFPpt1xf1nynaLWPzJKUO8LqI4eicbZQENfAmCKf4tLKnMMwYoqwo0sO1nGVAVYo6Wh6+zkW88AQLPFsBzS+; 20:64e0DpBneDNetfIurZu1xO2UIc07y+sgQ3DT39WEtS7ZFoqGSFLHeNxvMK8zWszGi210xbMKlhSfAzCZPNyeH/c0Q9Tway+oSlJi96qZtewp8UsQLCQVLSDsXwo5E9NP5laWyfugH9VE1bS+dDf6p18sK6TKjrdAFR5hr0kIRYnig0Rl3KR2rZNM3mYUt/DsZbbz0bzHyqQ+JlbPv0CwFPuFcNpZvuFHAbImTgmB43Dfx7xJ2I//cHBMrSZZPGHnzNt3zgVeuAHdzouGtKxNUZpTH6vdoh45FwrBWznae8gUFOLl6+PBQG8JkN19h9Hqmlajp1faTlJqZq+PZhnW7g+8SY0HYFo7ZaTumJ52J1x3MJOWIQ/1rnjASEQKlNe0stdt3qgvyO8bd1nPYFOBZho59Lz1BVP/upJc6/q9qRy/T8Wz/fUZlgQC9wJFBuyb6hLfw5SKmzAYmxtlaM8/7VPcqqe8DjO2wR4dzpoIYKN9I7KnbgrByjuZPT4Ucv4rzrBOkExVHcvz1niz4rhUaWYqra+5rW+96fuwtMa3GPHCJNEff7xwPIotnuIH/rJpM2AyW7Ybl5u1YgkBdWBooZOH8BSLNarTIxHd4Y0g7sY= 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)(20161123560025)(20161123564025)(20161123555025)(20161123562025)(6072148); SRVR:BY1PR0701MB1721; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1721; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 4:TUBuGNXxveornzF2o2JeccZZhiIBH3PftNlKtlMP1oledlXCiIA6rday7wl3HbHo3C13477oiDclhuGQ/1EBXZ2MHk/D1jV0y4Dr+FwPVAOkGUJMVc0edsinKIWOgyaq6i2W/A3ExPNMBGSbrGZREDEHenOQCjdijXJs8fogXNOGCS+5/aYaFOqAoErm4G+3RCUvtblZifnxs/5GxRqUEPeG5C+Wn3gjn6xbDWNIq1v3YhbUemB6R5TliNDSZxgvk1IeP2x8Gn3jid5Nba6Ak9RLmtkHdsu+bsKhSKj6GdaGeQI1DVYHuzvs0gZ8nWYHYtSijRWgFKMRHiLS2dyc8HrDCe1+pxtfuAQR+hp/Zvfi8ToiBGyqCFS98pSF07BF97R/8SEhm3mHN1oz+MrGA/2IaB3H50hG6zALwIAIqqw+KmGzo82v/OkSP+UZxKVpTil01tmMe4VVzDZUeX/Znwj7VWG8ss00C0DRCDnRTmVVOe5xg3AA2zMKRmUjpRzH5GBCkCnO6/9o+xivhq6cwIDM6Qk7TJKStLb4i/HEADeHAGHZvS+IwyxXI7Shxvr85IEZYMR0iQnQtjY4VjlMfVQySEDGUkLkHtnmMyDoRyxGfWxGp/zcSd2UeJuF0sES 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)(6512007)(48376002)(69596002)(76176999)(42882006)(5003940100001)(5009440100003)(36756003)(7736002)(110136003)(6916009)(106356001)(2950100002)(7099028)(473944003); 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:9YcXUbNnLViT2CJ5GflOdqp/Ohh+1HYX/s+dYBP?= lrnj7q0tlGelFIJQq5XcOMqqPxPcT4XJ6eaduktVmPmAU7mp6pizuIf7jBCqElGQEGAENalXmVCgDinvJIoY7zQUn/P5tjd/92gAtXNs8gBUN2u+CRTPfVGS0xPcoRjQi/YiCGP48IARjy8QwOsclTDLSHNbSHImzolr9y7/U5b/EZ8t1os+NLEoaPZGzfEADFy1EyF+xrxrpKV3LGh0ee202XZ2phxF4f2P+N/XBxGIEQ9mFeKY0XTEOTKZ5B3AcCpX6nQs1t6pnGFc4mEpj3qEqhEQmGPUTJOWm2G8vtpK6M4QA0zl3tY4oBmH0HieEDasPvxqgsPx6BQy75/kaP50RgQJ3hGYodKcTuA23hkp8e9twLHbMalygWduyAvNuwK3KAIL7K30LLsa5xz/Gmc8mUaYll2+wx5w74EQ18bRKq41nMEUQKTxjbwey9odE5TA0FB7c5d1ke13YRkGm2VGVLy9NyhPDFD2k9koqUNUCHku0w0D1tklESC80OJqqZ5/PlLL0907qbW2LNWeDE4sAqpgkXAtfpjF/8UYo9PphPUlGse9QBlv4wmG1o9lt1HYDH9Nzax/NWW8o/4zQUbl1y9qQAg+ud/o6veWn3b6r+vj83X10AipwegypB859tX4CSWJojxZkrCP1453HjJEAX7AF//RY0HTDjlr7sgMJaJYvFbITGccXVMJrDXPAPP/6adeE+AHRg+CTDy4o+T50vDC4eG/GneEYPUnSenyq9/KvJdu5qhyyID/gwnqeZNC0kJ7UeJ+JX+zNYMowNd2W8HTqiIYwUxg0dqL1SREfJhVhn8RRXkcatocu3Vmn93oF5/8tG4QfkiItR/WtkdXvdw7aTr7g3s2UOAvnyuAjSwln3fMeEvAe9RstpM4qA5otQuwr4iVmqFW+bywmdDJBmUOFfpb+/+t/T1RVAizPkJD3h4WeYZiI8NBFvWpobiQsZ9fD6bWDmLfGCsLMQsI9wTp0w8W0L/ikAHdzrXeITh0hP4Ar6WHr08Q21K/hOkMa+l9R0Aan4KOXBNBqUGhlpgJnFAfIjJxPBNV/zcao/SfhxZL/0hZmckxPzFfVfaXI/008Kmy8WRbSh/VJ3SBj+AEkXKCQ2XWnCswaLrgvO19HwefGc67RJgIf5T75GWrifsRl8meWnXbhjaVxa0/J17errwR8uqZ0TRTsbEBLlD/LsxteT5o0N2toiKRl2CvXbgCUU82yFYjynIYtoyu1dX2nDiDQuX45YOFSjVxzMEaUQjFqlc7YXx43javQ5mo= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 6:odd7A06W6mKyhjlnL1CGCAsw4juz8Reai4irxZzW2CirM4hRqh5LK1rOvwWN+tZElWWESZpJr3p15KvfArfJxcs8dsnYvRcqYw9m3cXb9nJ69bGhtKC2hbGDP3flXE/JncG9B+c8lLsyx4WtbRH1GbWCjA7moxj8NQe/tqO0CWHaLob/yBvoHJSBjhTwjEoWyWbfd6QH10f/xUYtCHaDHI+BDyLQ3KyGZruNQekUxiB/UkASyqRC6owPET8Bv4J8vvt8nOEht+thMI2hpdPKEGuGt3dHOWmufo9m4J84vFKQjaWUMCXO8gFJikr8/kvkep8mJiR7/OalO7xEpxIpR3BS231DJypjeE0YbsByj9iJcTK3+XO3eOz2ChVVXIz8pYZEyFJykvzpLhpPaNx+o7+zzPgJ3LO3JsE6WGmpAiQ=; 5:x5bdHTKcsIs87o2S051CfaD+UxRc/nC1Q0auDoxJIM0Iia75ThT4+YcYCmwdDjdbof65xu+XZLa3Rp4AR4Y6xX6UyWXKqtoi8rQXTIGz9fOwOPCxSltGhIfZ5ZTqlmNnEZ9gEOWNkCzj8tv2pCfTMEH2753PkRYt+QWke/44xbY=; 24:oy2VG+c4jiJ6PPKRc8blyq500s9KyN9xYNUoGc90SYd6UQg28EkMuqwIq49Yct2BAz5B7au+HbENWQ3mrneL1h5sGwmvcsVj+mZ27IFxXXo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1721; 7:aupxQxdPZMFgbsl66c9TXsWMxnaBrkrq6jBU+PKjnMnJ+xcSkg3Jlp8xk7XuaT8/S15Dw0kxzof6j1U6YindLbZcMtS41LQFtt31GrhDxQrF3thIn55spQDiCVAk4rhxawLmjfjby8nxDUCWHD0iCwiGueEIfSJFc8vRn68cf+AxQYgnl9aafFSRD7eVICGzACPoH9HIAVOtyM4+AG6l67ECnv8bt9LloETK2U0W3uaANb4mOHky50PsVXzhmiRmyUOKDUVE7BOKXMIcXVZlTva0Z7YnRoi0HYJOiCJNt4hfP2wpE0XsKXfKwm0hv3C8xum2eelwrVhZRiT/a2bVCofWEAkAU5mUVnWJ7hb4fW3bbsE2ONn21i3xCM8C8QMHw4ZmlncJZZeujvDTVHcF3tELU0Jna4D3ERrh3SpiGgyEFl/Om30RmTVeNlYc2M2ipAG53K5jqZmXyRHxL93M8Q== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2017 01:23:56.8400 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1721 Subject: [dpdk-dev] [PATCH v5 27/29] net/thunderx: 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" 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: Jerin Jacob --- drivers/net/thunderx/base/nicvf_plat.h | 36 ++++------------------------------ 1 file changed, 4 insertions(+), 32 deletions(-) diff --git a/drivers/net/thunderx/base/nicvf_plat.h b/drivers/net/thunderx/base/nicvf_plat.h index 83c1844..3754e1b 100644 --- a/drivers/net/thunderx/base/nicvf_plat.h +++ b/drivers/net/thunderx/base/nicvf_plat.h @@ -69,31 +69,15 @@ #include #define NICVF_MAC_ADDR_SIZE ETHER_ADDR_LEN +#include +#define nicvf_addr_write(addr, val) rte_write64_relaxed((val), (void *)(addr)) +#define nicvf_addr_read(addr) rte_read64_relaxed((void *)(addr)) + /* ARM64 specific functions */ #if defined(RTE_ARCH_ARM64) #define nicvf_prefetch_store_keep(_ptr) ({\ asm volatile("prfm pstl1keep, %a0\n" : : "p" (_ptr)); }) -static inline void __attribute__((always_inline)) -nicvf_addr_write(uintptr_t addr, uint64_t val) -{ - asm volatile( - "str %x[val], [%x[addr]]" - : - : [val] "r" (val), [addr] "r" (addr)); -} - -static inline uint64_t __attribute__((always_inline)) -nicvf_addr_read(uintptr_t addr) -{ - uint64_t val; - - asm volatile( - "ldr %x[val], [%x[addr]]" - : [val] "=r" (val) - : [addr] "r" (addr)); - return val; -} #define NICVF_LOAD_PAIR(reg1, reg2, addr) ({ \ asm volatile( \ @@ -106,18 +90,6 @@ nicvf_addr_read(uintptr_t addr) #define nicvf_prefetch_store_keep(_ptr) do {} while (0) -static inline void __attribute__((always_inline)) -nicvf_addr_write(uintptr_t addr, uint64_t val) -{ - *(volatile uint64_t *)addr = val; -} - -static inline uint64_t __attribute__((always_inline)) -nicvf_addr_read(uintptr_t addr) -{ - return *(volatile uint64_t *)addr; -} - #define NICVF_LOAD_PAIR(reg1, reg2, addr) \ do { \ reg1 = nicvf_addr_read((uintptr_t)addr); \