aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-16 18:34:44 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-16 18:34:44 -0500
commit5b3fcfed35735af507be36a4c3f3bbeb9bc7bbf6 (patch)
treef956ebeec64d7c4249a8886585dc8416e51d72a3 /arch/arm/mach-omap2
parenta12587b00388d1694933252e97abca237bc3a6b8 (diff)
parenta61c2332f8e1939cd4984b63cab641b2366eb428 (diff)
Merge branch 'fixes' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm
* 'fixes' of git://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-arm: ARM: sa11x0: assabet: fix build warning ARM: Add arm_memblock_steal() to allocate memory away from the kernel ARM: 7275/1: LPAE: Check the CPU support for the long descriptor format ARM: 7274/1: NUC900: Rename nuc900-audio platform device to nuc900-ac97 ARM: 7272/1: S3C24XX: Fix build error for missing <mach/system-reset.h> ARM: 7271/1: Fix typo in conversion of ARCH_NR_GPIOS to Kconfig
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r--arch/arm/mach-omap2/Kconfig4
-rw-r--r--arch/arm/mach-omap2/omap-secure.c13
-rw-r--r--arch/arm/mach-omap2/omap4-common.c10
3 files changed, 7 insertions, 20 deletions
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig
index 904bd1dfcd2e..a8ba7b96dcd1 100644
--- a/arch/arm/mach-omap2/Kconfig
+++ b/arch/arm/mach-omap2/Kconfig
@@ -366,8 +366,8 @@ config OMAP3_SDRC_AC_TIMING
366 going on could result in system crashes; 366 going on could result in system crashes;
367 367
368config OMAP4_ERRATA_I688 368config OMAP4_ERRATA_I688
369 bool "OMAP4 errata: Async Bridge Corruption" 369 bool "OMAP4 errata: Async Bridge Corruption (BROKEN)"
370 depends on ARCH_OMAP4 370 depends on ARCH_OMAP4 && BROKEN
371 select ARCH_HAS_BARRIERS 371 select ARCH_HAS_BARRIERS
372 help 372 help
373 If a data is stalled inside asynchronous bridge because of back 373 If a data is stalled inside asynchronous bridge because of back
diff --git a/arch/arm/mach-omap2/omap-secure.c b/arch/arm/mach-omap2/omap-secure.c
index 69f3c72d959b..d8f8ef40290f 100644
--- a/arch/arm/mach-omap2/omap-secure.c
+++ b/arch/arm/mach-omap2/omap-secure.c
@@ -16,6 +16,7 @@
16#include <linux/memblock.h> 16#include <linux/memblock.h>
17 17
18#include <asm/cacheflush.h> 18#include <asm/cacheflush.h>
19#include <asm/memblock.h>
19 20
20#include <mach/omap-secure.h> 21#include <mach/omap-secure.h>
21 22
@@ -57,20 +58,10 @@ u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs, u32 arg1, u32 arg2,
57/* Allocate the memory to save secure ram */ 58/* Allocate the memory to save secure ram */
58int __init omap_secure_ram_reserve_memblock(void) 59int __init omap_secure_ram_reserve_memblock(void)
59{ 60{
60 phys_addr_t paddr;
61 u32 size = OMAP_SECURE_RAM_STORAGE; 61 u32 size = OMAP_SECURE_RAM_STORAGE;
62 62
63 size = ALIGN(size, SZ_1M); 63 size = ALIGN(size, SZ_1M);
64 paddr = memblock_alloc(size, SZ_1M); 64 omap_secure_memblock_base = arm_memblock_steal(size, SZ_1M);
65 if (!paddr) {
66 pr_err("%s: failed to reserve %x bytes\n",
67 __func__, size);
68 return -ENOMEM;
69 }
70 memblock_free(paddr, size);
71 memblock_remove(paddr, size);
72
73 omap_secure_memblock_base = paddr;
74 65
75 return 0; 66 return 0;
76} 67}
diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
index bc16c818c6b7..40a8fbc07e4b 100644
--- a/arch/arm/mach-omap2/omap4-common.c
+++ b/arch/arm/mach-omap2/omap4-common.c
@@ -20,6 +20,7 @@
20#include <asm/hardware/gic.h> 20#include <asm/hardware/gic.h>
21#include <asm/hardware/cache-l2x0.h> 21#include <asm/hardware/cache-l2x0.h>
22#include <asm/mach/map.h> 22#include <asm/mach/map.h>
23#include <asm/memblock.h>
23 24
24#include <plat/irqs.h> 25#include <plat/irqs.h>
25#include <plat/sram.h> 26#include <plat/sram.h>
@@ -61,13 +62,8 @@ static int __init omap_barriers_init(void)
61 return -ENODEV; 62 return -ENODEV;
62 63
63 size = ALIGN(PAGE_SIZE, SZ_1M); 64 size = ALIGN(PAGE_SIZE, SZ_1M);
64 paddr = memblock_alloc(size, SZ_1M); 65 paddr = arm_memblock_steal(size, SZ_1M);
65 if (!paddr) { 66
66 pr_err("%s: failed to reserve 4 Kbytes\n", __func__);
67 return -ENOMEM;
68 }
69 memblock_free(paddr, size);
70 memblock_remove(paddr, size);
71 dram_io_desc[0].virtual = OMAP4_DRAM_BARRIER_VA; 67 dram_io_desc[0].virtual = OMAP4_DRAM_BARRIER_VA;
72 dram_io_desc[0].pfn = __phys_to_pfn(paddr); 68 dram_io_desc[0].pfn = __phys_to_pfn(paddr);
73 dram_io_desc[0].length = size; 69 dram_io_desc[0].length = size;