Re: [PATCH] ARM: allow, but warn, when issuing ioremap() on RAM

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Catalin Marinas
Date: Monday, October 11, 2010 - 3:05 am

On Sat, 2010-10-09 at 03:41 +0100, Nicolas Pitre wrote:

We could be a bit more flexible as a temporary solution. But that's a
hack and doesn't guarantee the attributes that the driver requested. If
the driver would use writel/readl, that's not too bad since we pushed
explicit barriers in these macros.

It would need to be improved to invalidate the corresponding cache lines
(using the DMA API?) but it would look even worse.


diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c
index 6bdf42c..082bbd0 100644
--- a/arch/arm/mm/ioremap.c
+++ b/arch/arm/mm/ioremap.c
@@ -204,10 +204,13 @@ void __iomem * __arm_ioremap_pfn_caller(unsigned long pfn,
 #endif
 
 	/*
-	 * Don't allow RAM to be mapped - this causes problems with ARMv6+
+	 * Don't allow RAM to be mapped as Device memory - this causes
+	 * problems with ARMv6+
 	 */
 	if (WARN_ON(pfn_valid(pfn)))
-		return NULL;
+		if (__LINUX_ARM_ARCH__ >= 6 &&
+		    (mtype != MT_DEVICE_CACHED || mtype != MT_DEVICE_WC))
+			mtype = MT_DEVICE_WC;
 
 	type = get_mem_type(mtype);
 	if (!type)



-- 
Catalin

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] ARM: allow, but warn, when issuing ioremap() on RAM, Felipe Contreras, (Thu Oct 7, 2:44 am)
Re: [PATCH v2] ARM: allow, but warn, when issuing ioremap( ..., Uwe Kleine-König, (Thu Oct 7, 11:00 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Thu Oct 7, 12:22 pm)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Fri Oct 8, 10:53 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Fri Oct 8, 4:04 pm)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Fri Oct 8, 4:44 pm)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Fri Oct 8, 5:10 pm)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Fri Oct 8, 5:25 pm)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Sat Oct 9, 1:56 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Sat Oct 9, 2:21 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Sat Oct 9, 5:05 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Sat Oct 9, 6:52 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Sat Oct 9, 7:37 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Sat Oct 9, 9:45 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Guennadi Liakhovetski, (Sat Oct 9, 11:59 am)
RE: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Pedanekar, Hemant, (Sun Oct 10, 7:23 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Uwe Kleine-König, (Mon Oct 11, 1:35 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Mon Oct 11, 2:02 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Uwe Kleine-König, (Mon Oct 11, 2:24 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Catalin Marinas, (Mon Oct 11, 3:05 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Mon Oct 11, 3:15 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Mon Oct 11, 3:52 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Mon Oct 11, 8:25 am)
RE: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Woodruff, Richard, (Wed Oct 13, 9:17 am)
RE: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Woodruff, Richard, (Thu Oct 14, 8:29 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Felipe Contreras, (Thu Oct 14, 10:44 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Benjamin Herrenschmidt, (Fri Oct 15, 7:36 pm)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Benjamin Herrenschmidt, (Fri Oct 15, 7:39 pm)
RE: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Woodruff, Richard, (Sun Oct 17, 6:05 am)
RE: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Benjamin Herrenschmidt, (Sun Oct 17, 4:17 pm)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Tue Oct 19, 11:12 am)
Re: [PATCH] ARM: allow, but warn, when issuing ioremap() o ..., Russell King - ARM Linux, (Tue Oct 19, 12:21 pm)
Re: About multi-line printk and the need (not) to repeat l ..., Uwe Kleine-König, (Tue Nov 23, 3:39 am)
Re: About multi-line printk and the need (not) to repeat l ..., Uwe Kleine-König, (Tue Nov 23, 3:58 am)
Re: About multi-line printk and the need (not) to repeat l ..., Russell King - ARM Linux, (Tue Nov 23, 3:33 pm)
Re: About multi-line printk and the need (not) to repeat l ..., Uwe Kleine-König, (Wed Nov 24, 1:17 am)
[PATCH 0/6] add some KERN_CONT markers to continuation lines, Uwe Kleine-König, (Wed Nov 24, 1:56 am)
[PATCH 1/6] ARM: add some KERN_CONT markers to continuatio ..., =?UTF-8?q?Uwe=20Klei ..., (Wed Nov 24, 1:57 am)
[PATCH 2/6] block: add some KERN_CONT markers to continuat ..., =?UTF-8?q?Uwe=20Klei ..., (Wed Nov 24, 1:57 am)
[PATCH 3/6] net: add some KERN_CONT markers to continuatio ..., =?UTF-8?q?Uwe=20Klei ..., (Wed Nov 24, 1:57 am)
[PATCH 4/6] init: add some KERN_CONT markers to continuati ..., =?UTF-8?q?Uwe=20Klei ..., (Wed Nov 24, 1:57 am)
[PATCH 5/6] mm: add some KERN_CONT markers to continuation ..., =?UTF-8?q?Uwe=20Klei ..., (Wed Nov 24, 1:57 am)
[PATCH 6/6] tty/vt: add some KERN_CONT markers to continua ..., =?UTF-8?q?Uwe=20Klei ..., (Wed Nov 24, 1:57 am)
Re: About multi-line printk and the need (not) to repeat l ..., Michał Mirosław, (Wed Nov 24, 2:09 am)