linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Cartwright <josh.cartwright@ni.com>
To: arm@kernel.org, Arnd Bergmann <arnd@arndb.de>
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	John Linn <john.linn@xilinx.com>,
	Nick Bowler <nbowler@elliptictech.com>,
	Michal Simek <michal.simek@xilinx.com>
Subject: [PATCH v4 5/5] zynq: move static peripheral mappings
Date: Wed, 24 Oct 2012 15:04:51 -0500	[thread overview]
Message-ID: <20121024200451.GF6713@beefymiracle.amer.corp.natinst.com> (raw)
In-Reply-To: <20121024200222.GA6713@beefymiracle.amer.corp.natinst.com>

Shifting them up into the vmalloc region prevents the following warning,
when booting a zynq qemu target with more than 512mb of RAM:

  BUG: mapping for 0xe0000000 at 0xe0000000 out of vmalloc space

In addition, it allows for reuse of these mappings when the proper
drivers issue requests via ioremap().

Signed-off-by: Josh Cartwright <josh.cartwright@ni.com>
Cc: John Linn <john.linn@xilinx.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
---
 arch/arm/mach-zynq/common.c                |  6 +++---
 arch/arm/mach-zynq/include/mach/zynq_soc.h | 23 +++++++++++++----------
 2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index ba48f06..ba8d14f 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -73,12 +73,12 @@ static struct map_desc io_desc[] __initdata = {
 	{
 		.virtual	= TTC0_VIRT,
 		.pfn		= __phys_to_pfn(TTC0_PHYS),
-		.length		= SZ_4K,
+		.length		= TTC0_SIZE,
 		.type		= MT_DEVICE,
 	}, {
 		.virtual	= SCU_PERIPH_VIRT,
 		.pfn		= __phys_to_pfn(SCU_PERIPH_PHYS),
-		.length		= SZ_8K,
+		.length		= SCU_PERIPH_SIZE,
 		.type		= MT_DEVICE,
 	},
 
@@ -86,7 +86,7 @@ static struct map_desc io_desc[] __initdata = {
 	{
 		.virtual	= UART0_VIRT,
 		.pfn		= __phys_to_pfn(UART0_PHYS),
-		.length		= SZ_4K,
+		.length		= UART0_SIZE,
 		.type		= MT_DEVICE,
 	},
 #endif
diff --git a/arch/arm/mach-zynq/include/mach/zynq_soc.h b/arch/arm/mach-zynq/include/mach/zynq_soc.h
index 218283a..c6b9b67 100644
--- a/arch/arm/mach-zynq/include/mach/zynq_soc.h
+++ b/arch/arm/mach-zynq/include/mach/zynq_soc.h
@@ -15,27 +15,30 @@
 #ifndef __MACH_XILINX_SOC_H__
 #define __MACH_XILINX_SOC_H__
 
+#include <asm/pgtable.h>
+
 #define PERIPHERAL_CLOCK_RATE		2500000
 
-/* For now, all mappings are flat (physical = virtual)
+/* Static peripheral mappings are mapped at the top of the
+ * vmalloc region
  */
-#define UART0_PHYS			0xE0000000
-#define UART0_VIRT			UART0_PHYS
+#define UART0_PHYS		0xE0000000
+#define UART0_SIZE		SZ_4K
+#define UART0_VIRT		(VMALLOC_END - UART0_SIZE)
 
-#define TTC0_PHYS			0xF8001000
-#define TTC0_VIRT			TTC0_PHYS
+#define TTC0_PHYS		0xF8001000
+#define TTC0_SIZE		SZ_4K
+#define TTC0_VIRT		(UART0_VIRT - TTC0_SIZE)
 
-#define SCU_PERIPH_PHYS			0xF8F00000
-#define SCU_PERIPH_VIRT			SCU_PERIPH_PHYS
+#define SCU_PERIPH_PHYS		0xF8F00000
+#define SCU_PERIPH_SIZE		SZ_8K
+#define SCU_PERIPH_VIRT		(TTC0_VIRT - SCU_PERIPH_SIZE)
 
 /* The following are intended for the devices that are mapped early */
 
 #define TTC0_BASE			IOMEM(TTC0_VIRT)
 #define SCU_PERIPH_BASE			IOMEM(SCU_PERIPH_VIRT)
 
-/*
- * Mandatory for CONFIG_LL_DEBUG, UART is mapped virtual = physical
- */
 #define LL_UART_PADDR	UART0_PHYS
 #define LL_UART_VADDR	UART0_VIRT
 
-- 
1.8.0

  parent reply	other threads:[~2012-10-24 20:04 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-24 20:02 [PATCH v4 0/5] zynq subarch cleanups Josh Cartwright
2012-10-24 20:03 ` [PATCH v4 1/5] zynq: use GIC device tree bindings Josh Cartwright
2012-10-27 13:39   ` Michal Simek
2012-10-27 14:00     ` Josh Cartwright
2012-10-27 14:06       ` Michal Simek
2012-10-27 14:42         ` Josh Cartwright
2012-10-27 15:20           ` Michal Simek
2012-11-05 18:35             ` Josh Cartwright
2012-11-07 12:05               ` Michal Simek
2012-11-07 14:17                 ` Josh Cartwright
2012-11-08  0:38                   ` John Linn
2012-10-24 20:03 ` [PATCH v4 2/5] zynq: use pl310 " Josh Cartwright
2012-10-27 13:40   ` Michal Simek
2012-10-24 20:04 ` [PATCH v4 3/5] zynq: remove use of CLKDEV_LOOKUP Josh Cartwright
2012-10-27 16:47   ` Michal Simek
2012-10-24 20:04 ` [PATCH v4 4/5] ARM: annotate VMALLOC_END definition with _AC Josh Cartwright
2012-10-27 13:59   ` Michal Simek
2012-10-30 22:22     ` Arnd Bergmann
2012-10-31  8:43       ` Michal Simek
2012-10-31 11:36         ` Josh Cartwright
2012-10-24 20:04 ` Josh Cartwright [this message]
2012-10-25 20:17   ` [PATCH v4 5/5] zynq: move static peripheral mappings Nick Bowler
2012-10-25 21:29     ` Josh Cartwright
2012-10-25 22:41       ` Nick Bowler
2012-10-25 22:47         ` [PATCH] ARM: zynq: Allow UART1 to be used as DEBUG_LL console Nick Bowler
2012-10-29 16:56           ` Josh Cartwright
2012-10-29 18:13             ` Nick Bowler
2012-10-26  1:03         ` [PATCH v4 5/5] zynq: move static peripheral mappings Josh Cartwright
2012-10-27 16:52           ` Michal Simek
2012-10-28 23:26 [PATCH v4 0/5] zynq subarch cleanups Josh Cartwright
2012-10-22  2:15 ` [PATCH v4 5/5] zynq: move static peripheral mappings Josh Cartwright
2012-10-29  8:00   ` Michal Simek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121024200451.GF6713@beefymiracle.amer.corp.natinst.com \
    --to=josh.cartwright@ni.com \
    --cc=arm@kernel.org \
    --cc=arnd@arndb.de \
    --cc=john.linn@xilinx.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.simek@xilinx.com \
    --cc=nbowler@elliptictech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).