From patchwork Wed Dec 14 01:55:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 17942 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 EF4C26A94; Wed, 14 Dec 2016 02:59:26 +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 0ADE14B79 for ; Wed, 14 Dec 2016 02:58:48 +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=Zw1P5oZNqqYyWSwf6eCuglh63CFVDSxY182QpoFcFWs=; b=V++kqb358zeZYx4QhC46C5qHuWXKZUU84hYfmuLNG+JN30v7OU8axIV/TB4EZ8Y+XKDTX57OFplViLMsw8q/OFrabO3yHUmIXJLghYLMsX31YB3YmV1BaYuy+bZ0Xu1gbdR4CXyGGuMBEeXy4t3xLvSyHE8hWBm6oXI8U35Dw1o= 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:35 +0000 From: Jerin Jacob To: CC: , , , , , Santosh Shukla , Jerin Jacob , Rahul Lakkireddy Date: Wed, 14 Dec 2016 07:25:47 +0530 Message-ID: <1481680558-4003-18-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: 474caede-ee2e-4698-b914-08d423c4b8b2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN3PR0701MB1719; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 3:ALgRpw/0WK4xLiWVPwkdVdhGPC50OnQVC2RTtuL49dcqB43dja8JaPFNLr51X+Tq4b6kk96GgNY+ypUs2xS0icta+k+W8FyOIXWG7ahhzy1ntsrZwiG9u5LeQ6t21RoACanUn7fVZ8dQBofyhAV5o4jc/PMSQ/ERoT3B7MGydnAhv2OZmgxUCEjuZCyyZ88RUlOqv9WepekdfkYi31nHrPzHDwfZvWmpe956jREgVzB3HB7VpQdXZNyzCz5Ws91NAlcS8j2WHORtJGfoakEa1w== X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 25:dsSIqt0HBHbgaMAvSx4uG7BAwnbhiHU6IuwqRpWFF4psaetl28YLQyYwTwMSCzhXHEzXs1uR7lRo5qb/uePF8B895vZwPev9Z5FbkQZZSSH2nFx3wSgmJ1OYG7qfKcw8+/96WzKfsWxfrMq5vatrdWj/trMy0ty7fCHlIE5lHidpCh53tKGAwNfIYNbd0AxEsopopTkJ2WuofF5Pgp6qIvNCUc06Zbj9PDuulyZQRx+nb4xOLk88Fx9YB7eX8KgkLSd70zvkChZ+BAnFOKnjpQkj0m+0XOZzbrT43neuTvNCQBlNpjbVHBwIVnAMWTcfVTmGC5ZtODaD07Tu7PNt4gJgQmDoM2cb5wLdmN1qNS4yCpDfhEgk3aBW3TqdkAAdfXY8qgV/ZGxCM9QEe2HB+L2hszxzsPSqtbunfgakP0dffxwsbe8M3McelB8FCn58rxI3aKTyhc9nHrq+XouTS+UxC+Fj+pewpGbpigzRG7dL3eRb1UwLv1K+4gxy07QazmCXVlWXSMJaxptWcnsWYP4M4IgTlzRnVNEk9czgKWDA1hzw8+TI9zDOKmmfhbSS64r0l2O0uvwDF/u2t9Y84wZjVlb2EMBVYl/urcXzRkNDspS2wjEUwpqhLEyBDX2iY+6jPyDOHhiD+KW+ZHO0K5Ux1Ym0usjs/z9sGIYMZ1fJsYYu8onP3oMH2aNW14K6qbydmFUDZ2daGrzK36ECdGcsukyq059L69T2wZUiuJtjXhq3tB1ZDTNlmvn1M0HNFY3xeNnTMoXGdSXxOB2mCnFfGJBNIIlTejm69RtOHqEC57Ge+c//Ra8De50uoDiW X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 31:QIzAIqYWRj6b37niTj0qqhPy/EG94g6UQ87w/t/FHm6L1Q5aJy2UgySTu5CNjvyolIIKQl9JHhlBTCozSFVb8vxxrCCkrQbDIGh+cw7JwtFPC0Zoy7RhVS8oPJGSUEpzyjfTQSJxL8uhjOqwox/IjUJ5YI09MuVq7tFtaVN8aQJn8jJYp3jf+L5ShEEmlcUy5R4IlzkmBYJixzuU4rBo/odTtJz5/ym30gwdCrVPvbTlIhpyB8Aiv1A1+/hlNAeQ; 20:dM4uj+FcznmLcUUkksbrfoCRtiXUocEI6NvIIR0WnGwla7Fi3y3o89WuRN8X65VZqNBhS0VPQanTGaCU+yU7suqvXo3SmI06+/JKztGpM1EzCPz9Q0KenakAlTxTY9eta7ZRzOQmivKvFj+iiYVtDkKRSH8Kg1rWJ5H/rpDpNbEivmFinJRjxAJs2rmDz7Yg0PefUwyKSvls2wJ2qgmLoqjD6HGJoNGQDoXz1ye9p+WbNjYhv1MhVjS5n2QPpfNqVX4VuecyA/3pQtKCx632Ud6iigp9Es8J6qmq9I0wMb+MkUm7FFhZcEvcnYXBba4XkK2Bhna9re/sFsvM99wN2aCFwARXAbsyvtkNZhBSlGZMT0hn8cdmmmZC/SDGZ24RW8ZiUicTV3KQSkgstY3J/RryrDs8Hu45fNzh7T/sIsuBgayIpFSMqzlmpIq2ACBPjCzQahxin9kvi6FuK7cb3+if8TG1Qbj4BL7KFB1M2ldFISV4ISweMes2Xg0wgbIfe0dcPjYaPBpGmNrS7iXL2qsYy8IAUuSmeQckaLYBCNYvcxpuRRqe+wMJWczrbQi1IzWawR0Nll9iD8tyNfZe2RJjiheAe51fvKIn86ULOws= 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:CN76MAjBFlDv6fBpuaUofb5XxzGt7NuPlgTsJhmSHJ4PSFpbmi0PkN9k+0IPvG4xgqjImsX0iSZNT1EuMQxW0e0i1b+oWbaRPisP0KKywL/AJ5uhPaNogi+0zWgqZJdhl0uA4x7V9MN2M9ukkKmUKcyfae9kmOJCvrUs0oERX2WX/v1Hw2z5CP8fDtQkxM0Iv3T4EyoJaw4d5ERIFEalZ9CHlXxynkUXZxGodRSRk3A/CEbF4l6yHYwe1Njf0ErkTtobjj76TtjpfuCne1Fv+1WbcRl9g5X4ObcO/9AdF7UUsnRTjnXzE15b1MchI1sIvIXdivPmF6eYSmMzgoIO25dxxgJ+7pxXx1d3GUoGQ/LXXUPbwuXtIMQfajKZIHlgX6PTMuoVBxwpJ0iSH3JmTtT1RqS6Rsjai3VeCe0T24c2bph8sDc/tGW5b+/rsptSJaa+qHmpRXN33BENYQX+cRmLtcxgWdCqA7Lp/Fg1txz35hX+mB59ckkDzXmzPY8uPNO801DvbdQ7PcDoPBnVduevD5GXVdpkJRpgd2HGkObWCrOW7Xyb8GhjK3WL6+IR7XsGI7jHnD6iI4ueWig41yTPzm6P3emO5sOKxqUEnPY= 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)(81166006)(38730400001)(105586002)(8676002)(106356001)(5660300001)(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:rLJ/6uuc5G1Ys60WVkQXFThF5tcsEF+y5L1Dr73?= V1q5IBJwkR11zyGxrDTxN/aKcSgCFpDCz7lhJwjuL4UBfZNLUXrFVkn7+V7RXC/2x2SjhC1eT6pDJj6dUQIPtQmdbvvSGcxlJiX+eGlCOcnOWvA21IAVtg8199X4JLdhkA0jxrqDxFDMaeE17uQeviQXhLdCsIShwXEfGvwL9oPKjD2TUr/JFGhxhV9tJns2dqJDZD3PLRy5zz58j1mHroqjcwK39MyKdCehBxk+kCKNYwDMFGFr1vNgdcPJLmusb6ObGU3dC3KULYW5/8LrkvHEgsq2zZKTi9kGfqLj8HGSv0lSzn4h6t1YBcRNQ3tW6diuhqM3/oRLVJ5FSaVsSlYpSA5r4PGVrIlQRJLiowf6UIAL3BEbtWPVnDfy4ZXjKKxQotWW79riKlPuAKrnrWEXiNegMby+s8LumiveAzKE5sW/MVFh1Y+VhdxzRZC3y6PfQKiMC94Ttg1Wsq3+4Ss2aIe+XLAsE43V3uZtqA7pYAQx3gMO72uT3xoxLDQ0xKcu3BNC8Yx9KBAdZF/ID8bIUtOnhsjT7U3q7SvpCnxT8zO6C0UNxdWN2B+F1IR2MUbkYlZy5DUptRK2M7oabJiHp4JPlH7vCQDjzMXFqJ+6jv6avbst+6pfuwelErlPJwmt8lzSNRF8KgDYVqE9Gw3KjEZ+lDmf4uwGp+uPkUIZm5lhvQ4WfbFt4Qb5ybcJgd/zmDIZXAxTM//Yf+NZMmSQZK28wXg7HwWCjigK5XVkMiIs7PxeasKkoEgeLCqmwjwlmq7u52HOZojK7y0EYw4e29LDxWV3TuqnNCptxY1XL9yvevbYiuVd5X4oa2KTn/mB4DM1/hBh63YA5NSXJ816thaivGwyb7UtjxRW99RMVMdiSZ3HzaiSa6/X0yLzXfaEaSDtP5tQCqdEsc+EtoCpAdTgenbVXR6q4tKwupkIM25k8FYRHQCtfGXfmyypgO0aaKF1Wt+PUdy34KvcJY+Rqb10Q0TfQ4TNRYVHOLgAEyYyzsHg9DuQTcChQh04cThMPa6D2OCQuV5BStSssQXLXe5UL3S1C0AgCwitSrUIhdsvHPia0YT7qmd2SLggxSl12p/fX4YmLQ4dNZla8OC3m X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 6:P+SdRJ+Uz5R83tKEX1X1w326J5MgriJ/HKhN/kXkZjVDzSY987YgU0lk9wP4ll+fVGSjBSlDRJoAkzQMufgl3GuCfkpylTa6pvTkpSuahb1OlKLh9+V/pG+QaV7WfkFwds+NueA8gXvYvn8hDdfku0t1EbFw3YRtN/wGZtnJopvSZqgelSKxprrXv1H8w8gXlawQRuaxGb6MV/P+ZxesNBvZ12yALf0u9jNd1PnyC8N0rCFLOAycZE6M5M42aOGRUlF9oHYPjWbB8b7pjf2K1GRm+GNpiMN1Pr8h+qiL+2eQ0gqmpO2aLX5bC019gkp9ICOHryfrwMTXyYoY7iOEzZGASZUlgZ1MULHNZC6wjXaYUevG0FKW0kvaif6LR57KBKK/W9YU1G8pVmpMnoYZ6h7TRohXKs8+JRrRjs/zVNI=; 5:lzh5RFE6nRE22nT2REsFPW7KMIKDJCVDj76X5FzNIcmVHMtm+IEyvtpMynUHxkGrBfISaSGUiT+vRYuvbdW32WWuPiuDhGS5C+pDhw0wNRVgGLug+zV4Z04oz2oYGAyH1glC7spFIrAaFHoKCkxs0w==; 24:BOpf/na9ffAMBTmWC1lCZzpDK4j5ChocglwSLS/cimMX1pzIjf9gXB5ltwsy3rw7lOmiNpAwAqwCY+T4xzNHoNdBSuxgfu3C/tA5SQzwGA0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 7:e6wr6ghPQ2ENKErBWL7t6iLvXIqWAPx4s9WFI6Q94Up+5/6Usj0yaWZNYdeYRp6t2Sf4L5LVXfmT9mutPnpa0olUHEF29PXcl6KKImLypkiG7lLBBf+GNLqlwvpKH+ihWwfcdUeBBgfoV1OQeR+eADVUvhnckqz1D2+FuKsKzGGTOo7O/TCG+8x494Ror7buPYRLKozMRKuSw8dT0Vl08vEJJUW6gKiPDeOGfi/yUwRwieSQPmYIwpcvz/Sx/ICWSausyFUM9K3TSapl84IidLZpcaL48iYDBXhy5tjxQHc2K+1QSe8I8Ucg7jYXMWPLoJPsfNiZ7ZfmTW5mMIeEIb8EcaHwLyetScf9w9Lfc7uIe/iN4xs5dLbXx6Mz371MNOrepmvQKS6eQqumFlkpgp9AcqaJwlqCxWrmdTa2i86xFAmxhOun6rXjLxDQKhf6l/zoGvpY3z++wpmA9FuPdw== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2016 01:58:35.4279 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1719 Subject: [dpdk-dev] [PATCH 17/28] net/cxgbe: 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: Rahul Lakkireddy --- drivers/net/cxgbe/base/adapter.h | 13 +++++++++---- drivers/net/cxgbe/cxgbe_compat.h | 3 ++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/net/cxgbe/base/adapter.h b/drivers/net/cxgbe/base/adapter.h index 5e3bd50..0ae4513 100644 --- a/drivers/net/cxgbe/base/adapter.h +++ b/drivers/net/cxgbe/base/adapter.h @@ -40,6 +40,7 @@ #include "cxgbe_compat.h" #include "t4_regs_values.h" +#include "rte_io.h" enum { MAX_ETH_QSETS = 64, /* # of Ethernet Tx/Rx queue sets */ @@ -324,7 +325,11 @@ struct adapter { int use_unpacked_mode; /* unpacked rx mode state */ }; -#define CXGBE_PCI_REG(reg) (*((volatile uint32_t *)(reg))) +#define CXGBE_PCI_REG(reg) ({ \ + uint32_t __val; \ + __val = rte_readl(reg); \ + __val; \ +}) static inline uint64_t cxgbe_read_addr64(volatile void *addr) { @@ -351,15 +356,15 @@ static inline uint32_t cxgbe_read_addr(volatile void *addr) cxgbe_read_addr64(CXGBE_PCI_REG_ADDR((adap), (reg))) #define CXGBE_PCI_REG_WRITE(reg, value) ({ \ - CXGBE_PCI_REG((reg)) = (value); }) + rte_writel(value, reg); }) #define CXGBE_WRITE_REG(adap, reg, value) \ CXGBE_PCI_REG_WRITE(CXGBE_PCI_REG_ADDR((adap), (reg)), (value)) static inline uint64_t cxgbe_write_addr64(volatile void *addr, uint64_t val) { - CXGBE_PCI_REG(addr) = val; - CXGBE_PCI_REG(((volatile uint8_t *)(addr) + 4)) = (val >> 32); + CXGBE_PCI_REG_WRITE(addr, val); + CXGBE_PCI_REG_WRITE(((volatile uint8_t *)(addr) + 4), (val >> 32)); return val; } diff --git a/drivers/net/cxgbe/cxgbe_compat.h b/drivers/net/cxgbe/cxgbe_compat.h index e68f8f5..95d8f27 100644 --- a/drivers/net/cxgbe/cxgbe_compat.h +++ b/drivers/net/cxgbe/cxgbe_compat.h @@ -45,6 +45,7 @@ #include #include #include +#include #define dev_printf(level, fmt, args...) \ RTE_LOG(level, PMD, "rte_cxgbe_pmd: " fmt, ## args) @@ -254,7 +255,7 @@ static inline unsigned long ilog2(unsigned long n) static inline void writel(unsigned int val, volatile void __iomem *addr) { - *(volatile unsigned int *)addr = val; + rte_writel(val, addr); } static inline void writeq(u64 val, volatile void __iomem *addr)