Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752806AbbLLRUj (ORCPT ); Sat, 12 Dec 2015 12:20:39 -0500 Received: from mail-am1on0063.outbound.protection.outlook.com ([157.56.112.63]:29277 "EHLO emea01-am1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752757AbbLLRUg (ORCPT ); Sat, 12 Dec 2015 12:20:36 -0500 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; synopsys.com; dkim=none (message not signed) header.d=none;synopsys.com; dmarc=none action=none header.from=ezchip.com; From: Noam Camus To: CC: , , , , , , , , Noam Camus Subject: [PATCH v9 3/3] serial: 8250_dw: Do not use readl/writel before checking port iotype Date: Sat, 12 Dec 2015 19:18:27 +0200 Message-ID: <1449940707-17633-4-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1449940707-17633-1-git-send-email-noamc@ezchip.com> References: <1449940707-17633-1-git-send-email-noamc@ezchip.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-21998.001 X-TM-AS-Result: No--8.621800-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;DB3FFO11FD014;1:ydcunb9h990IIBZZWb5p71FQTcdnPg7VgSiS920JVUQ69gI3GWprmayUZ0sLqdvN0eEfrHXXNjYz6iNgJm7ES/7OchYfNHFJfybB2kLntDU1vtrOoGBqqQX/ZHXxgSZnhif0WzvSKAv7y+r863XXmQcTYh4kb4UEnwQvaZlzuNQhuefVC2UAbd5qDfLCELIHZNDXgfbCnMY2GHL7INBhWjPl1tg1zg2izR5Mj+ybw26Wz3d8zzAI2/CaOtysTOCnP5ss9CBQhqqptXgPrU0VvSw7EP6QSQuMDx95c9IinvdnM1+q4R8La5Hy3nZcA47/6FFlroalHH7J3ifxCfgWoVwroJMRfRzsUKJJv4ZFvybiSEwjYktL6AtMoIhk0p30lOfk2GTPtheiVbJ0sXH0lH8y7HxF19BLsqPTVGOcp2KP1hTkLdfvlG/PoPXTq962CXCBLbkXrUTWrafb1kTvCQ== X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(2351001)(586003)(6806005)(105606002)(189998001)(1096002)(229853001)(36756003)(1220700001)(104016004)(106466001)(48376002)(4001430100002)(5001970100001)(76176999)(50986999)(110136002)(5003940100001)(107886002)(5008740100001)(33646002)(50466002)(87936001)(85426001)(47776003)(19580405001)(19580395003)(92566002)(50226001)(49486002)(2950100001)(77096005)(86362001);DIR:OUT;SFP:1101;SCL:1;SRVR:DB4PR02MB015;H:ezex10.ezchip.com;FPR:;SPF:Fail;PTR:ezmail.ezchip.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB015;2:C3bsMSvG7e6YtwFAEXztQMlGsZmSNjQi0KmqrcfRUjjqTFGRrk7Dsh0aqA8L4KlWgeONSNRM36rEpdnt6gVczLGjXf3vYuRkMNKbPGb7Y7fTgmiwW7cXMZ6OQ+r+ZxW+CDhSA3pwtDeIlxTGWUeTFQ==;3:q95usMKDr8LwyAdP8cSBwffiqZpeJVPCcGl+/gUch8vLXBnE4u/ZmzrmLB+BRWX8P++3aNq+ogd+n3s1YZuha8JMcAH8wJvjXaqEO3zniZd7X/jTXCFpELJdl45cV3CTRYfAVYsAFGPErO6kFkO6cvpoZqQ/QZ7WL/DM5mpiahBWMLScHOj7C9hcsMOzHVQfitcDihOZGvA6ozy9PJmqhLTbpsu+aL+gpdlDH+BmLc0=;25:UjkJ3rJB6deyPU4tLvv9EPDhf3ETyr/pXXxXT8kzJd1wOT1j/+ekPLFfoK8BMJ10mPUfgu6Q6TBkG1zet+x0T987ffqAq5ZOTmMQRb+XWgt6MMmjlXnxQ/bcmF97R0ZQnxY8Xvci3xpHQsj1lS+Mocdl89++NupywsKZ1UE2Lp8jv9LMnreuxHKldjX6XnuiJUSZMoqIK17YaqyFvaMhE0//PS1mIcew+LEEZC824XevCIvYWvBtAqOvrAiNBJNF;20:Y5FtC8J/BbTub+PZso1LSViDZi/QDqfo1qzmPobU5jYhypEVVz4qTBR5f6nLNkdoIKSaIAVU6UZYsyoeTTc2vPtg39ktWweOxmM7qbKRJJRmpq7S3o7T8AuPnVjSKx8dzbFOh0FYCkiqt4BXq23ULVUEN38h8tsi5bV2aJH5XY0= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB015; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(121898900299872); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(8121501046)(5005006)(3002001)(10201501046);SRVR:DB4PR02MB015;BCL:0;PCL:0;RULEID:;SRVR:DB4PR02MB015; X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB015;4:x6FZx65OMzb+vLK64rDfAFXAsLfqsDPuGphqHsyjl9CcbVSsddB2e2pWKGhxtD1u/wKRqex6LdqqP/h5vP894VRMyCjzeP7Wn+bSf0HrOR3ASH7/54MsrSE6M/FU1DXmp6JmRtbA7WtJLEgLRHZRReqCfSBl2+LPsjBrg47p7SDziEdZHb5QiujLwwLbP1UJ2ez+ZWydT/qx0j0T/HcY7aTcxHLHNy4vIEmOozj874fDFfh0PWxV20BQzqNnWu4m4i/YxMg8cR4zxFXc6l4adwXiXZa/GT2w3hYZ+Qr5C0xlb4eMnuWxlci0kolDa8861XHJLJV50Utx51Cl7RSewi12JAL9m6Cg+eF2bZBxrYSf8dVvTLRA75++2/yINu9MvYID3McckuHqIYGU09UqoRjXMm77k2IH4GlZ2IW8+ag= X-Forefront-PRVS: 07880C4932 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;DB4PR02MB015;23:nthM81gCrFrhPvzM5RxncKopATb7w99bKyRpJAJBXS?= =?us-ascii?Q?vR2DRLI71qya41IpC8e4NTpCeeRiXydsMVcLmbgm+5I+PZUu3ECMCK6iv2D9?= =?us-ascii?Q?s3uZwqLQJVzph1bqPNyatXjtuC62kOz4KoPMArfu7TwrjpcSxTrrgAgpg9yA?= =?us-ascii?Q?YPOF0urm1aFsoZxIiaoa7JaWKUwjeEsZX0ejLl/oh+AR8uXA6QYNUJCHVs/v?= =?us-ascii?Q?oeBTMxydx49q+Eb+tL0xmL4SEKsLywKQAWfjBQo2czR7syc+voRG6EIh2GNQ?= =?us-ascii?Q?DevLPyNCZ3hdz1IzyaJr1vqtINnH6XN2IrrRl+hG/4OKcF+Y2WRXmyjRWKKS?= =?us-ascii?Q?tAgR1d60wNZcNJP7EVduf5Zd6Y+fDbsLnfjDCYBMvzKkKPYDWFPrxClBaH+T?= =?us-ascii?Q?7Ek4QSIpArpfK4unpiIZNkaT3W/7ZHofdZk7N5txNEL4N+F4Nrd2VvqDeHdE?= =?us-ascii?Q?NxF0ZMUmr0mQ3kdHnxyUcwNLLdoQXF8N9XJHYwfDR909+ba3TrY643t/RSCC?= =?us-ascii?Q?kUlS+D+RGoowgdm1x9UHa9fKFG5YaR0Ym1gSYDcqcV0Ivg/scCVGsrW0mC9l?= =?us-ascii?Q?R1l54EHueu2+LQhWmiY87PYlWDUZz8wn5QeV1ZZwvfTZe/KifJz108nVvnJp?= =?us-ascii?Q?7zMjtYkYVNmrlf5VnXKq7OJ/BFxCUY4YyeaL6W9OocPpT1qHo/lSbucU18vo?= =?us-ascii?Q?jHyrR6oNeQRSkaMHRfrQeQ5DFSeqj7ooOI2WAXikqMNP+CbNHxFiDgIxfsTt?= =?us-ascii?Q?lq7t6aCZFMFKZbPPz2d/XXls/d97LcNu9cXivTmTHX9cov1r09ZAgqF57pRf?= =?us-ascii?Q?01s8yv/OY3oHCyrzTyyc0e9AIqag42YD+9DXRfL9EYO+DT4QGWPw3obYksQJ?= =?us-ascii?Q?UaZi6rh9xcXPw+eLLMLCNYN6Up36vRAh/ZQ52tGRmzkgYQktEwWwJCYbkh+1?= =?us-ascii?Q?kkMkAviIQxiiYhioIwRV89TuYbSkWsNCm46YAETIhXofN6PzeLiYxR/rvJHy?= =?us-ascii?Q?IbN4O5CtdYfgl+iIblRUNNdcFBn4UwHcLExNXWQqb/Vc6Hg5JAQm9GhfextA?= =?us-ascii?Q?d8QDZQ74gECZdjbjGufeyMvRaT?= X-Microsoft-Exchange-Diagnostics: 1;DB4PR02MB015;5:W2UEbIEd3MeGhFqLYa7rlC0DSh4vSvvYUHl/qIaKJaQB5yMTusOs81n/mMTgZF1EUWvuHnWVgMU3GoXPFxk6+3fvn9MmcBFhMGRqKhEcGkfYMqfUFSlDB25HInkrNzNB7blx5q4XNjFQPb1r3NYAyw==;24:/brV5FWuBKwBzW5K9CjwRNKp9ZfkKRRFAME3L6W0RV7Sqk3DvTIDYCvAhlSf+kU/eMJ4tKWMC0wCgct8/LiNgaVHxVANUsgJ+9+A4AiPmAs= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2015 17:20:31.8815 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[212.179.42.66];Helo=[ezex10.ezchip.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR02MB015 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1765 Lines: 55 From: Noam Camus Direct call to readl()/writel() is checked against iotype and in case of UPIO_MEM32BE we use ioread32be()/iowrite32be() instead of them. Signed-off-by: Noam Camus --- drivers/tty/serial/8250/8250_dw.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c index 92c4a9b..30810ac 100644 --- a/drivers/tty/serial/8250/8250_dw.c +++ b/drivers/tty/serial/8250/8250_dw.c @@ -114,6 +114,8 @@ static void dw8250_check_lcr(struct uart_port *p, int value) #else if (p->iotype == UPIO_MEM32) writel(value, offset); + else if (p->iotype == UPIO_MEM32BE) + iowrite32be(value, offset); else writeb(value, offset); #endif @@ -327,14 +329,20 @@ static void dw8250_setup_port(struct uart_port *p) * If the Component Version Register returns zero, we know that * ADDITIONAL_FEATURES are not enabled. No need to go any further. */ - reg = readl(p->membase + DW_UART_UCV); + if (p->iotype == UPIO_MEM32BE) + reg = ioread32be(p->membase + DW_UART_UCV); + else + reg = readl(p->membase + DW_UART_UCV); if (!reg) return; dev_dbg(p->dev, "Designware UART version %c.%c%c\n", (reg >> 24) & 0xff, (reg >> 16) & 0xff, (reg >> 8) & 0xff); - reg = readl(p->membase + DW_UART_CPR); + if (p->iotype == UPIO_MEM32BE) + reg = ioread32be(p->membase + DW_UART_CPR); + else + reg = readl(p->membase + DW_UART_CPR); if (!reg) return; -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/