mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH] resource: dev_request_mem_region: fix return value for MIPS
@ 2015-01-09  9:41 Antony Pavlov
  2015-01-09 16:10 ` Sascha Hauer
  0 siblings, 1 reply; 2+ messages in thread
From: Antony Pavlov @ 2015-01-09  9:41 UTC (permalink / raw)
  To: barebox

The commit

    commit 0d7a21334536cb36b3c9b64d868acc55aec41332
    Author: Antony Pavlov <antonynpavlov at gmail.com>
    Date:   Wed Sep 10 11:42:19 2014 +0400

        MIPS: dts: use physical addresses (as Linux does)

        With IOMEM() adapted for MIPS we can use physical addresses
        in device tree reg property.

has switched MIPS dts files to physical addresses usage.

The patch was tested on qemu, but qemu malta board is tolerant
of using physical addresses for accesing to device
(Ingenic JZ4755 and JZ4780 processors are tolerant too!).
But other CPUs (e.g. Loongson LS1B) can throw an exception
in this situation.

Additional physical address to virtual address translation
on MIPS is needed.

We already have this in include/common.h

    #if defined(CONFIG_MIPS)
    #include <asm/addrspace.h>

    #define IOMEM(addr) ((void __force __iomem *)CKSEG1ADDR(addr))
    #else
    #define IOMEM(addr) ((void __force __iomem *)(addr))
    #endif

So use IOMEM() to fix dev_request_mem_region() return value.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
---
 drivers/base/driver.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/base/driver.c b/drivers/base/driver.c
index e0125a1..0423f28 100644
--- a/drivers/base/driver.c
+++ b/drivers/base/driver.c
@@ -330,7 +330,7 @@ void __iomem *dev_request_mem_region(struct device_d *dev, int num)
 	if (IS_ERR(res))
 		return ERR_CAST(res);
 
-	return (void __force __iomem *)res->start;
+	return IOMEM(res->start);
 }
 EXPORT_SYMBOL(dev_request_mem_region);
 
-- 
2.1.4


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] resource: dev_request_mem_region: fix return value for MIPS
  2015-01-09  9:41 [PATCH] resource: dev_request_mem_region: fix return value for MIPS Antony Pavlov
@ 2015-01-09 16:10 ` Sascha Hauer
  0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2015-01-09 16:10 UTC (permalink / raw)
  To: Antony Pavlov; +Cc: barebox

On Fri, Jan 09, 2015 at 12:41:37PM +0300, Antony Pavlov wrote:
> The commit
> 
>     commit 0d7a21334536cb36b3c9b64d868acc55aec41332
>     Author: Antony Pavlov <antonynpavlov at gmail.com>
>     Date:   Wed Sep 10 11:42:19 2014 +0400
> 
>         MIPS: dts: use physical addresses (as Linux does)
> 
>         With IOMEM() adapted for MIPS we can use physical addresses
>         in device tree reg property.
> 
> has switched MIPS dts files to physical addresses usage.
> 
> The patch was tested on qemu, but qemu malta board is tolerant
> of using physical addresses for accesing to device
> (Ingenic JZ4755 and JZ4780 processors are tolerant too!).
> But other CPUs (e.g. Loongson LS1B) can throw an exception
> in this situation.
> 
> Additional physical address to virtual address translation
> on MIPS is needed.
> 
> We already have this in include/common.h
> 
>     #if defined(CONFIG_MIPS)
>     #include <asm/addrspace.h>
> 
>     #define IOMEM(addr) ((void __force __iomem *)CKSEG1ADDR(addr))
>     #else
>     #define IOMEM(addr) ((void __force __iomem *)(addr))
>     #endif
> 
> So use IOMEM() to fix dev_request_mem_region() return value.
> 
> Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>

Applied, thanks

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-01-09 16:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-09  9:41 [PATCH] resource: dev_request_mem_region: fix return value for MIPS Antony Pavlov
2015-01-09 16:10 ` Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox