From patchwork Wed Mar 18 15:53:02 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Dooks X-Patchwork-Id: 6041451 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 68CB5BF90F for ; Wed, 18 Mar 2015 16:03:22 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 86B2420480 for ; Wed, 18 Mar 2015 16:03:20 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AA1C6203C3 for ; Wed, 18 Mar 2015 16:03:19 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1YYGOP-0004Mf-DT; Wed, 18 Mar 2015 16:00:25 +0000 Received: from ducie-dc1.codethink.co.uk ([185.25.241.215]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YYGI1-0002pi-Lx for linux-arm-kernel@lists.infradead.org; Wed, 18 Mar 2015 15:53:50 +0000 Received: from localhost (localhost [127.0.0.1]) by ducie-dc1.codethink.co.uk (Postfix) with ESMTP id 70C7A460B70; Wed, 18 Mar 2015 15:53:29 +0000 (GMT) X-Virus-Scanned: Debian amavisd-new at ducie-dc1.codethink.co.uk Received: from ducie-dc1.codethink.co.uk ([127.0.0.1]) by localhost (ducie-dc1.codethink.co.uk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WtnTH3dSA5iP; Wed, 18 Mar 2015 15:53:27 +0000 (GMT) Received: from rainbowdash.ducie.codethink.co.uk (rainbowdash.dyn.ducie.codethink.co.uk [10.24.2.99]) by ducie-dc1.codethink.co.uk (Postfix) with ESMTPS id CD33A460635; Wed, 18 Mar 2015 15:53:26 +0000 (GMT) Received: from ben by rainbowdash.ducie.codethink.co.uk with local (Exim 4.84) (envelope-from ) id 1YYGHe-00087Z-GE; Wed, 18 Mar 2015 15:53:26 +0000 From: Ben Dooks To: linux-kernel@lists.codethink.co.uk, linux-arm-kernel@lists.infradead.org Subject: [PATCH 03/13] ARM: at91: use readl/writel relaxed instead of __raw for big endian Date: Wed, 18 Mar 2015 15:53:02 +0000 Message-Id: <1426693992-31163-4-git-send-email-ben.dooks@codethink.co.uk> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1426693992-31163-1-git-send-email-ben.dooks@codethink.co.uk> References: <1426693992-31163-1-git-send-email-ben.dooks@codethink.co.uk> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150318_085349_926551_13365BA1 X-CRM114-Status: GOOD ( 11.99 ) X-Spam-Score: -0.0 (/) Cc: Ben Dooks X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Add support for low-level uart debug when the system is running in big endian mode by changing to use the readl_relaxed and writel_relaxed calls instead of the __raw variants. Signed-off-by: Ben Dooks --- arch/arm/mach-at91/include/mach/uncompress.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-at91/include/mach/uncompress.h b/arch/arm/mach-at91/include/mach/uncompress.h index 4ebb609..596696b 100644 --- a/arch/arm/mach-at91/include/mach/uncompress.h +++ b/arch/arm/mach-at91/include/mach/uncompress.h @@ -112,7 +112,7 @@ static inline const u32* decomp_soc_detect(void __iomem *dbgu_base) { u32 cidr, socid; - cidr = __raw_readl(dbgu_base + AT91_DBGU_CIDR); + cidr = readl_relaxed(dbgu_base + AT91_DBGU_CIDR); socid = cidr & ~AT91_CIDR_VERSION; switch (socid) { @@ -140,7 +140,7 @@ static inline const u32* decomp_soc_detect(void __iomem *dbgu_base) return uarts_sam9x5; case ARCH_ID_SAMA5: - cidr = __raw_readl(dbgu_base + AT91_DBGU_EXID); + cidr = readl_relaxed(dbgu_base + AT91_DBGU_EXID); if (cidr & ARCH_EXID_SAMA5D3) return uarts_sama5d3; else if (cidr & ARCH_EXID_SAMA5D4) @@ -180,7 +180,7 @@ static inline void arch_decomp_setup(void) /* physical address */ at91_uart = (void __iomem *)usarts[i]; - if (__raw_readl(at91_uart + ATMEL_US_BRGR)) + if (readl_relaxed(at91_uart + ATMEL_US_BRGR)) return; i++; } while (usarts[i]); @@ -200,9 +200,9 @@ static void putc(int c) if (!at91_uart) return; - while (!(__raw_readl(at91_uart + ATMEL_US_CSR) & ATMEL_US_TXRDY)) + while (!(readl_relaxed(at91_uart + ATMEL_US_CSR) & ATMEL_US_TXRDY)) barrier(); - __raw_writel(c, at91_uart + ATMEL_US_THR); + writel_relaxed(c, at91_uart + ATMEL_US_THR); } static inline void flush(void) @@ -211,7 +211,7 @@ static inline void flush(void) return; /* wait for transmission to complete */ - while (!(__raw_readl(at91_uart + ATMEL_US_CSR) & ATMEL_US_TXEMPTY)) + while (!(readl_relaxed(at91_uart + ATMEL_US_CSR) & ATMEL_US_TXEMPTY)) barrier(); }