From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0071.outbound.protection.outlook.com [104.47.42.71]) by dpdk.org (Postfix) with ESMTP id 41D8AF8AA for ; Tue, 17 Jan 2017 08:16:40 +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=f4/zZ1fZzr4J0/DkBf70Py+5JCfMQqGzpJK0F0jopDlUmbIbxDfCGKVaXutiAOOX6K7Mdiq7reC6qT8t9CgOtQhGwbl0PNLMtw3HeF6kdONPyfFNqT8L0lEQ+kmh0L4eV4U+kAveWfvV3LH+3XkbJCZwbiNBsd808VdGfKtjcmY= 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:16:36 +0000 From: Jerin Jacob To: CC: , , , , , , Jerin Jacob Date: Tue, 17 Jan 2017 12:44:02 +0530 Message-ID: <1484637244-7548-28-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 Content-Type: text/plain 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: 59e0d0d2-677e-41f5-0934-08d43ea8c79b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY1PR0701MB1724; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 3:AaxnsBSLK0LbfwpQZz1qhYCYHrzpmO6s/Fr40GZT97E2kWpYwglWWIFGMdupOh79Adgi4rh2vN1nipO6KF4dz8yP9ltYAUHnmdkX8JfmYNTerNIxtQKAYhuCJiqkaTsZ4QsMZQh1K6p19o2JCVuO0Z64QGuSjYukZoThJUFVK8XyTmuv1hy3rJZeR2+jcNMkLp2hCXe7c9zVWuhFDyZglZNjYp8IG6RDkGneraNc3eatnqwiTBGilzhukwuwa++pHxxToh1eHDRmIftNEzvmsA== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 25:Ga5rue9H5Wk51tAdfLPt1Dawl6lKKOtKMwXnemDe1vZ5UnT2weMJqPF6uLDj5UFVSPHaKKwO3LEbJMP624cGdk0Vwp9V+YNOapxSkIcHfmTg6gmTQxsZg0H9nB76Ja2rXVYWoHk5VyrYmxy9b/oAptpXHui3nfP8BXeIdm2ZZjAo9GkySObVS93gpIKqNLWGwvSFmLh5WtPMvVcgHJynTRv1pZ3n2H5xJClvRJIvi7dGBu0zN/DL26i2Oy0WY+tOC+ESE/lDXw6oIpimZrI7kCHjHXUSp2kYYNZHbzLm8yVjqLSDnKfl81BmHWQgR0nC6JezOs4/r8TOQCtrBaoS5RIZYT8i0hOfgwNCQYFz29D6nKeM5+qzRCi4BSuwaFzkJ1VazWlPyi96T8C2wG6NjE80R68gvc56ha2fHCLTUDQntjxHsd1fqr0nVjzSKTTmNCWcQ+MusX86SqcmbIamZfEUSnT4bbIVWY9rQ4jENESHBzY+Nolx+gwSkzwoQxDp5lqfoOmg1UjiQUr0TjR/lyana29iHKpKQGgVbHSEfYBbjcTSB73kSVXkhriaIjOiSZIip5viMa4BQTITtuK8R7xVitsDTcznB/01nb7lQHWfYcQcbcQ67tZvBaKL8YMQujz+mT1e0mSiQDI/IgwKTB8n+XX5+eFf/z+kAuxuJ8AQ1mNsVZBJj8OgnnrsWXT/3dSVjHJEjqHgYn44uBGIskcxuBYRwkiIO4URBh4mNU/qN9VysrzVuyeyEDPUPYMkltIhx7tKFezepiCHa1+ntXtW7k015drg5KRk4aaB92YM5HncYqOUtJWywR8UVdGP X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 31:ocwh96G7ES9qZKqB9w6c923Oc9ZzfOnkDY9Tz2ktB2xhE9WDvr8pIZXMzjJ1ddhG2r1SPpWkMQ8tpZslb4EWv9E3PzXHeQD/A4iPBYG47WQPe28+6Dghj64JyXnrCzdYZw4WyXz3fiiNKmo43cDIKiraxT2cICtfDcvf8uX9/fz2O4xzPQ/4zQ6nQ6Wixk3+eZkb760Kg4UwRhKovGUVKiERTp/lMrr8vCQUEFgN30VUzxSmWI2m668cLtANUPCehcZUQiKwCZ0bEgnCcdLn5w==; 20:glyzcRPoqWdfVk1C2Ly+dTPMP7eUpXw9L6OWAhhEvX/F1gAMLAKJ0RyqK4B55PIv0E/iLoVsQc89vT8YpXHiZRo/s8GTFtqEDllFMeOLDXbnBQO+UGPJzZFO1vIU3jmyFdxpfjfmFAkJ2GUVsDqHI8FqiV8OC2oJMiwsQXdipMl391bqvhdBOJuY2eTUcvV1oW+UCZrH+cMMmxwW0QDk2y1NrCQcz+x0yd4QcmiI1UJnNYHmos+T5xhGlJGBK2HRmgwl+EGKVNY6IUHQL8sT9rZ3n9NECh1qwvfTMhZdUtWdQ6MITkvLyG0HUBeDM5s70PZU4qwLRj2F3g7998dHSHbuCx2Hm8LjsBqvxPbyiZIZwKc5Sg/hPayr50BaCxQU/Tqgz9W4u7kELOAzrlNR3yFweROkU+hocapebHPuL8nZUZq0f1on9wp08rgAiqslKl/z1qnd7ZjWu9QQs8kt+p/HEFhIbIcZsGhV6QDy11Bzo3NUyyyCUha3qqwn+0L4qZmij1ZZe/cGNcWH1HJMhwlJ+XGUFkL+OxSczsSEwL2EPdiV6C8eT8pmAQ4W4hZWS13VrqJ0xGKfzz5rFqwwRN5QPmcFFRrzpwQHEfhIodU= 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:t7F9VTv3kLt9p6ceDsYxMF7AQD3H9v7qaC7TwmV/LaJ/wkEYYebksfE7DXuvJBDUVkYyNHKA4iFMMYO5Xmr+6+AkPTj6RuHBE5O2Ld2pLlkpHZ8OK4gecckcwJ2XhHiAIU+sSyFzVrn2UUcdmBDuA7kOfzSYaXirnh9tPQKFtrBXlxVe2rOeHtjwS6iaQu4ZYPUcMuxxVofxfak6owttLcnqpJLPFrQhRVOfBWoD06GZ9Qc8smFbQg44vlxyOIAju/rtjR9R5/w6UBn7KiPztCUT5J3rnWr0hTqqCsF5QY6jsO+SMLCPFRouxUIQ1fwl8Mjit0Ew+Rm229FF/vxbKsou+R/rp69pGm0Jfmf+PVWCb5Q/APGPa92mTDEUw+ah/LiTUFNH3vnfy/ugBomDa+BEvsjDhGi0sOAeONbdQHyo7jT0grEbHM+Xy5moO2fEKh5ubcblp28fwQWyP++/rsHYXx1PCyPg6mLMntIhleXQS+gHqqSpvwd97BfzbsdpFANbP4Ig1mm40cuIijzkD5oPty6vK//VQsrFTWqR5ucakFxO/zA6WxwiZ8H/laSIfdtfoNQbtFMTMUlJCc6ZnhICK76JykwOrFtuU5Egcbc= 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)(6666003)(36756003)(33646002)(101416001)(2950100002)(6916009)(110136003)(50466002)(42882006)(30001)(7099028)(473944003); 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:Ltz8lWRJ3ue+w4W3ZXmmQhhWFTELSoIDxcYBELc?= =?us-ascii?Q?/50WJKxQwFo9w5+pRU6I9iOT14IdUHhZ3LoZOqiFzQ3Hy5z/1dsfuJuP1qVD?= =?us-ascii?Q?ppMPNt/xmgZp2pSLuv8OrDQ0wA1Sco6s5r836aDmygqm1cIwFIDqtLA9xp2U?= =?us-ascii?Q?DnoTODuwpZFOM/uG93aSe/C/1YPlL0Wn/Ixq8fR9eoe9oRTyjL5RQOFc5Tic?= =?us-ascii?Q?dC8dI7OIjb0e1S1MFFy3BDrJr9QZFP7AZcH2YJhIst+GLkSpVuyPbY2/wBuc?= =?us-ascii?Q?xxoBK9LSDerN1prKS8CfNjWkC0t1GdrTJXjdYYjG4bNmGAQ/ALcjpPL6gtLh?= =?us-ascii?Q?wWmQ19JUsAgEQz3kYFfBXVEMmfTjA7/+TVYDIs3YM05Egr8hFCfGUx0kiGpY?= =?us-ascii?Q?9es/aJuu8M5UPsFlcowlptoGk2unxIMwbUQiLUU+MqbiqVVMtYiyhkPz2l1f?= =?us-ascii?Q?WP7AyBnHRfv7mBTauuNFD53s1O8sr1RTuapIrrSeJ138IglitgvvwMWBLlaq?= =?us-ascii?Q?2f8pBip71/GoOKFzL3kKVwjHieJ6HqE6N9kvEPzZh5HEO40Pf0J8uiyd0n7N?= =?us-ascii?Q?kelFCNtqCbK/35hUQqrW28twavtCuCDPzLGcFd+16s46Dnw8naAp9RtCdTcc?= =?us-ascii?Q?dIHbP9UJAt7JfeoZ30hV/cUEip9py87femiT803jqH2pEUQZmPpMu/KkqUgy?= =?us-ascii?Q?UWt538fb0d5VKhVDPwxbU68hNY/ng6g4Mluu0jYG/sudzpxVllxiqvrMP1Ao?= =?us-ascii?Q?KUjKWl9UykcLIu8F047lfLvu6YCe/hL9NuZrQ6Pc3K0QpFoQvJkIhukz1Tk7?= =?us-ascii?Q?WzGm+Pba9XRcC0gV5ZVWYJQVOlGNALuU+Vv+9Xt3TC6XO5TqEeF8iew6jfrx?= =?us-ascii?Q?qObtP+ZJ+kmusTUk2srFfE/ZQA3rgo81iBRbeYUg0p1IDwiM3jlcRenA1GUI?= =?us-ascii?Q?fK79eHlDVxePjfKhwKnaXQ7UFAgpdCRBD4E12ORvUHLumZhaDObb2d7qCu2P?= =?us-ascii?Q?cBFaKbfTCrQi7W6EjIQ/i4C0uGQ8IgEAFEyOFfldPeVoUoeSrcRVag0uWAk0?= =?us-ascii?Q?qvL4Ce8G7pi0+gNbMYCJm4L0DtNzZDv/V/lWH5nHqztpJk/iDe4K04DiKCM2?= =?us-ascii?Q?fSs9RA9zGe07vuUXBCY8v4kFzkwZdN+NU4NvlJ9ITTwDxH9UzsW9de5du/5o?= =?us-ascii?Q?BzxVgq5uvJVCbS8ORevnycMF3RPgKud2zoxNmzCmrz1C1Thzyv4dCn3T1wEg?= =?us-ascii?Q?BSNLJP9R+aWSIqSzKjpCIOkFbjZ7CIQDroDgzcB1EJrf+bDdYfFsk7GkLotj?= =?us-ascii?Q?SZwrwCEh71qSMQvW2wkkrzzDG0hPCJ7jiX6F1Mn49JFZ2?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 6:BaS5DFmA18au5Jb2fuRqjDER1RKjub40N1YyrfFfh54yjarhL+hg5MiBKAGGjQMNvYIjoLpgjc7u7aeSjR8iQChgDIJn1pELLgjLpGbun/VsQbhqBSfPOt4qUyYHxbyZDiApYkRlg3kHPYo3FEVXPyNGQuc29LK3+BMhxNbTQ9C01VM3Cz2LPiLp1+IGj7fq88DYCpz9X4KBMNkeOYVXBC8LNz7UwHIH8/fgfSjwdO6zvDyD/0euLwnBtj8+vJRnJ+kKhdIkp+m+YG3WSIJJ54dPKQzXYySy0XPt3oFx0KqCgqe1vkYBRnZsBzWCW5KDA37Av/KfgDz5rr0KvR/9Tn9mpe1fvsGcca0dPVnINwBj+oR74pWGsu1r6xpmkjYb9uyQ8FzoHsT0oYn3lV6QGi5GCBVSNpSVifrTzLTRtDg=; 5:fOUkjzW/vT9QKB+fTGwQ3ztNlJ4SxnE0bS4+HTtbBMTqTwKpGlA+fSdFgDvyOC0Nl5H6ShFtYS0OJl/X5ImIkuNWB23MU0+WbL1bkJjSuCuGakAZlD3oKtNNI7kVwjrG+9YJmUmCGWD+mr7txftXsQ==; 24:DYhkaC/lgRzCmI93cFh4Lissfa2kzTrKGddL2qOfLkwuh4gJZvee3AuHQ70GjPj4mHlkaSflkCRhj4xqs+BfFOjDV+NMoQyHn97I/nhNWpY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1724; 7:1sFXOphBBXoiNEVYEhwYKotIYptrut1dh/mW6GYo+H8Rh0nHfnrWubRes5eObkOlukwzBEae5qiFtNjTHMpZTXihsIIummaLtRb4BXz55akF6oQ3ZZ/qQeDOPbfE+JlIGXy+g95V82bnxMcewNgn/Vv1Xi+HmgmuoHHSmQkmxVPA3/yrq1q8CIhUWgrZUwaHAuABc6fDIGFtufnoGouFO5meXhN3Pkl7QY/GS8zbVbZxCZmY82Y+veg45Hhq+Ru6uT5YcDzZ6YxMKjPoKdDOcfeUjV1R1cWXphn16fPoGAQcMw0qDCU0HI+hGm32fZRORhNlp4R7xZj/eWiO4lcAdtXlkyk67fi9mEklRHCzxFv9GAEllI9qEAPYswrCGLpCn8mtv2KLtrTQvOK57DexzbaOQN28sqvTkMgMjRNDGGO0Wbhw1jQuRH7sBzeY7rJ9gY0VPxiLAe3SxeD74SwN/g== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2017 07:16:36.1303 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1724 Subject: [dpdk-dev] [PATCH v4 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: , X-List-Received-Date: Tue, 17 Jan 2017 07:16:40 -0000 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); \ -- 2.5.5