From patchwork Thu Jul 20 15:51:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 108394 Delivered-To: patch@linaro.org Received: by 10.140.101.44 with SMTP id t41csp2307306qge; Thu, 20 Jul 2017 08:52:48 -0700 (PDT) X-Received: by 10.99.185.75 with SMTP id v11mr4495555pgo.44.1500565968087; Thu, 20 Jul 2017 08:52:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1500565968; cv=none; d=google.com; s=arc-20160816; b=bLBdO1LlP4tiVwqCBK10NyveawZSRrLRrzK8clOT6Jh3PsR9M/hJbOB2N857tXUd6l h5fponpJgua9TpeRsfAokq7m30WuH4J7eprT7/SkXR0OJi8yOqijitNN0r8zeAV3FcCN d5uUTLb+FcD2M4Umx+AxUdzMGQg2f3llH3UIHz6iTdccI+T9Rl87X8gSAbC3syHRQRth G7tT142HEzVHh+n6mICZlcEHNkWpX7pT1jd+obt2g84celuY97SjMn0XUj13496DnvBt qhITw2wxmr/Nj3Lmc7kl4168y43PF3iZrRzPOeUx1w/XeG2UNbWyk7YcTri5q4xuQrZW 7rOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=U6fdTEidNAfn0Py8eBFzp+iIP1AnwWaqa/yTMBpO1Xs=; b=sLcaS7os5yHBPTXhT/j5ELOPEzX1Uv7RgHEg+CMhMdt+tm8uMMQMSqZxb1AgvYlHTB RpyEpjGr/2OMpVjrSdP1L1TtaocatsqdgCrRU0j/1dhZCxUdDcqLpIoSvW88Wbia/dc8 TesBEy1rwaVPQGgWyQzpwKiCndA0gLBMI/7Ez0gnljycJFGcU0QCQNObKb6tuH/hy7BS J+fr15RfTugANLECnV9+gpPjnBrAYiTHvBL/ldWEf3S1Du7IcsTrwobScyxIvbSZszZZ Jwe9ovwoy6iOpuqGaFzeWKclFEBwQKLwmtU+UipZ4EW3g8V8dZnpqcYxFBJEE3DSdGs/ oShw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e8si1823867pgf.560.2017.07.20.08.52.47; Thu, 20 Jul 2017 08:52:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965773AbdGTPwo (ORCPT + 25 others); Thu, 20 Jul 2017 11:52:44 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:62311 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965731AbdGTPwm (ORCPT ); Thu, 20 Jul 2017 11:52:42 -0400 Received: from wuerfel.lan ([5.56.224.194]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.129]) with ESMTPA (Nemesis) id 0MXR93-1d4kWm3S8j-00WBe2; Thu, 20 Jul 2017 17:52:13 +0200 From: Arnd Bergmann To: Daniel Mack , Haojian Zhuang , Robert Jarzmik Cc: Arnd Bergmann , Russell King , Russell King , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/12] ARM: sa1100/pxa: fix MTD_XIP build Date: Thu, 20 Jul 2017 17:51:42 +0200 Message-Id: <20170720155209.3250880-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170720154616.3250481-1-arnd@arndb.de> References: <20170720154616.3250481-1-arnd@arndb.de> X-Provags-ID: V03:K0:nsAPDsax1514ewxSL4MwFu0e26zpLw6em6Se8cawkSRHFXKvOJ9 75a0YQ8LKnFb1nPwb53pDN3oSjSgHLeVQ5kvkpIyggZKf18eIQoTCs/d7z0d62KE5biAy0c lCjQ2rT1hkkLZcw3hNhUc6osIIvTAznWlJHtl6w1ydvgMNrQ0AVGnrzETrd+UBfoVHxthxW FIrOLcHZ5opgQigzj8Cww== X-UI-Out-Filterresults: notjunk:1; V01:K0:XYAzemTyLZU=:9JfVBBLkoy6iyyuKLxbEy2 /e8RsLxkIDZp7HqMscV5fnSct7zcffzD+PG5GEoPxrgrErI6ewuNojI/8yIaUKq4e5fb+P7Aq UHCWVRRZCRWHhgA3qlMUeF9RXdX7sDh73j8kyr11R/lU7jaNVYKQYj4ik81bdFVOEp9+bHV56 tvTgMjXC6eDvC/Iu5V2oPEgtnWg4VdCmL3gHnybB1CFhiA5PtmMNfdLOBZQFeOl0tT4qK2Hc2 Vu+hX8ekiIHQTk1eSAp0Q08+erQygBBIop70qEFwcYzq3aHKg0rRhQ+sgqDIXkghxlEuwm/uU ucVuDNkEA8qVD+VlHvVPLLjsQvuqF8/ps2FH5g9yjlcA1UBoR3A/mmyQDr3n45G47yuLrUur+ rn8wYnOTy0Xq3WxUk56tt8pTXyY+QPhnGaz2y+gFq8Fq42H92NhpXctH7yiL1nI1xihwKMema NclmKaJaS43xfgeuWJmQMWe1U+R6v6KNPrFsheqXD08rNcED++vieKM/UTZluw7EAjeC2i3s5 4RuztN7EJtt6YWl0Sc8gLJLpI5SCMkDWAagh0hfNQv3D73cO7ynSYfpppYnPMv0ut8X9Gg+TM q9upKY2CK8239fFX3IS7d6QY0XfGx636FleCz94AEvPK9RhA6EoVlashSI/eQD5G6DwGVuw+d Fui9tL9RHwUDKVkbqL95h8ZCUsempWV4YIybJMs/Cu6otYx3KidT1gZv8r2qyBK9yTzJR54sT B+nyWKCd5JWg7g4jAWd4c6IGBQKAsTh3+XIZcg== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In commit 3169663ac5902 "ARM: sa11x0/pxa: convert OS timer registers to IOMEM", the definition of the OSCR macro was changed to be an __iomem pointer, but the same register is also used by the XIP code. This patch does the corresponding change here as well. On PXA, the IRQ register definitions were removed even earlier, in commit 5d284e353eb1 ("ARM: pxa: avoid accessing interrupt registers directly"). This patch unfortunately brings some of that back. An earlier version of my patch moved the code into an external function, which could not work for CONFIG_XIP_KERNEL+CONFIG_MTD_XIP, so this restores something close to the original code. Link: http://lists.infradead.org/pipermail/linux-arm-kernel/2014-March/241716.html Signed-off-by: Arnd Bergmann Cc: Russell King --- --- arch/arm/mach-pxa/include/mach/mtd-xip.h | 10 +++++++--- arch/arm/mach-sa1100/include/mach/mtd-xip.h | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) -- 2.9.0 diff --git a/arch/arm/mach-pxa/include/mach/mtd-xip.h b/arch/arm/mach-pxa/include/mach/mtd-xip.h index 990d2bf2fb45..f0d40bd36bac 100644 --- a/arch/arm/mach-pxa/include/mach/mtd-xip.h +++ b/arch/arm/mach-pxa/include/mach/mtd-xip.h @@ -17,11 +17,15 @@ #include -#define xip_irqpending() (ICIP & ICMR) +/* restored July 2017, this did not build since 2011! */ + +#define ICIP io_p2v(0x40d00000) +#define ICMR io_p2v(0x40d00004) +#define xip_irqpending() readl(ICIP) & readl(ICMR) /* we sample OSCR and convert desired delta to usec (1/4 ~= 1000000/3686400) */ -#define xip_currtime() (OSCR) -#define xip_elapsed_since(x) (signed)((OSCR - (x)) / 4) +#define xip_currtime() readl(OSCR) +#define xip_elapsed_since(x) (signed)((readl(OSCR) - (x)) / 4) /* * xip_cpu_idle() is used when waiting for a delay equal or larger than diff --git a/arch/arm/mach-sa1100/include/mach/mtd-xip.h b/arch/arm/mach-sa1100/include/mach/mtd-xip.h index b3d684098fbf..cb76096a2e36 100644 --- a/arch/arm/mach-sa1100/include/mach/mtd-xip.h +++ b/arch/arm/mach-sa1100/include/mach/mtd-xip.h @@ -20,7 +20,7 @@ #define xip_irqpending() (ICIP & ICMR) /* we sample OSCR and convert desired delta to usec (1/4 ~= 1000000/3686400) */ -#define xip_currtime() (OSCR) -#define xip_elapsed_since(x) (signed)((OSCR - (x)) / 4) +#define xip_currtime() readl_relaxed(OSCR) +#define xip_elapsed_since(x) (signed)((readl_relaxed(OSCR) - (x)) / 4) #endif /* __ARCH_SA1100_MTD_XIP_H__ */