aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIliyan Malchev <malchev@google.com>2011-08-11 17:02:05 -0700
committerIliyan Malchev <malchev@google.com>2011-08-11 17:02:05 -0700
commit41a6c7948df0e6d8d8c8c2c8b2045636b2253540 (patch)
treec380d49c3fac05aeb79a0196945c5ed5a99f9b6d /arch
parentb401f83f9ee149774e9647576ba29d3f7d663f5b (diff)
parent486efb7f755fdd4f1bc0d658119a2e6c1199d5d1 (diff)
downloadkernel_samsung_tuna-41a6c7948df0e6d8d8c8c2c8b2045636b2253540.zip
kernel_samsung_tuna-41a6c7948df0e6d8d8c8c2c8b2045636b2253540.tar.gz
kernel_samsung_tuna-41a6c7948df0e6d8d8c8c2c8b2045636b2253540.tar.bz2
Merge branch 'android-omap-3.0' into android-omap-tuna-3.0
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-omap2/board-4430sdp.c10
-rw-r--r--arch/arm/mach-omap2/board-omap4panda.c10
-rw-r--r--arch/arm/mach-omap2/remoteproc.c2
-rw-r--r--arch/arm/plat-omap/omap_rpmsg.c8
4 files changed, 21 insertions, 9 deletions
diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
index 379818e..c60aa83 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
@@ -68,8 +68,10 @@
#define PHYS_ADDR_SMC_SIZE (SZ_1M * 3)
#define PHYS_ADDR_SMC_MEM (0x80000000 + SZ_1G - PHYS_ADDR_SMC_SIZE)
-#define PHYS_ADDR_DUCATI_SIZE (SZ_1M * 101)
-#define PHYS_ADDR_DUCATI_MEM (PHYS_ADDR_SMC_MEM - PHYS_ADDR_DUCATI_SIZE)
+#define OMAP_ION_HEAP_SECURE_INPUT_SIZE (SZ_1M * 30)
+#define PHYS_ADDR_DUCATI_SIZE (SZ_1M * 103)
+#define PHYS_ADDR_DUCATI_MEM (PHYS_ADDR_SMC_MEM - PHYS_ADDR_DUCATI_SIZE - \
+ OMAP_ION_HEAP_SECURE_INPUT_SIZE)
static const int sdp4430_keymap[] = {
KEY(0, 0, KEY_E),
@@ -874,7 +876,9 @@ static void __init omap_4430sdp_reserve(void)
/* do the static reservations first */
memblock_remove(PHYS_ADDR_SMC_MEM, PHYS_ADDR_SMC_SIZE);
memblock_remove(PHYS_ADDR_DUCATI_MEM, PHYS_ADDR_DUCATI_SIZE);
- omap_ipu_set_static_mempool(PHYS_ADDR_DUCATI_MEM, PHYS_ADDR_DUCATI_SIZE);
+ /* ipu needs to recognize secure input buffer area as well */
+ omap_ipu_set_static_mempool(PHYS_ADDR_DUCATI_MEM, PHYS_ADDR_DUCATI_SIZE +
+ OMAP_ION_HEAP_SECURE_INPUT_SIZE);
omap_reserve();
}
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 1cae155..76fccce 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -63,8 +63,10 @@
#define PHYS_ADDR_SMC_SIZE (SZ_1M * 3)
#define PHYS_ADDR_SMC_MEM (0x80000000 + SZ_1G - PHYS_ADDR_SMC_SIZE)
-#define PHYS_ADDR_DUCATI_SIZE (SZ_1M * 101)
-#define PHYS_ADDR_DUCATI_MEM (PHYS_ADDR_SMC_MEM - PHYS_ADDR_DUCATI_SIZE)
+#define OMAP_ION_HEAP_SECURE_INPUT_SIZE (SZ_1M * 30)
+#define PHYS_ADDR_DUCATI_SIZE (SZ_1M * 103)
+#define PHYS_ADDR_DUCATI_MEM (PHYS_ADDR_SMC_MEM - PHYS_ADDR_DUCATI_SIZE - \
+ OMAP_ION_HEAP_SECURE_INPUT_SIZE)
/* wl127x BT, FM, GPS connectivity chip */
static int wl1271_gpios[] = {46, -1, -1};
@@ -719,7 +721,9 @@ static void __init omap4_panda_reserve(void)
/* do the static reservations first */
memblock_remove(PHYS_ADDR_SMC_MEM, PHYS_ADDR_SMC_SIZE);
memblock_remove(PHYS_ADDR_DUCATI_MEM, PHYS_ADDR_DUCATI_SIZE);
- omap_ipu_set_static_mempool(PHYS_ADDR_DUCATI_MEM, PHYS_ADDR_DUCATI_SIZE);
+ /* ipu needs to recognize secure input buffer area as well */
+ omap_ipu_set_static_mempool(PHYS_ADDR_DUCATI_MEM, PHYS_ADDR_DUCATI_SIZE +
+ OMAP_ION_HEAP_SECURE_INPUT_SIZE);
omap_reserve();
}
diff --git a/arch/arm/mach-omap2/remoteproc.c b/arch/arm/mach-omap2/remoteproc.c
index b8900ce..3c0da55 100644
--- a/arch/arm/mach-omap2/remoteproc.c
+++ b/arch/arm/mach-omap2/remoteproc.c
@@ -46,7 +46,7 @@ static struct omap_rproc_pdata omap4_rproc_data[] = {
.oh_name_opt = "ipu_c1",
.idle_addr = OMAP4430_CM_M3_M3_CLKCTRL,
.idle_mask = OMAP4430_STBYST_MASK,
- .suspend_addr = 0xb98f02d8,
+ .suspend_addr = 0xb7ff02d8,
.suspend_mask = ~0,
.sus_timeout = 5000,
.sus_mbox_name = "mailbox-1",
diff --git a/arch/arm/plat-omap/omap_rpmsg.c b/arch/arm/plat-omap/omap_rpmsg.c
index 3540afc..340f10b 100644
--- a/arch/arm/plat-omap/omap_rpmsg.c
+++ b/arch/arm/plat-omap/omap_rpmsg.c
@@ -456,9 +456,9 @@ static int __init omap_rpmsg_ini(void)
{
int i, ret = 0;
phys_addr_t paddr = omap_ipu_get_mempool_base(
- OMAP_RPROC_MEMPOOL_DYNAMIC);
+ OMAP_RPROC_MEMPOOL_STATIC);
phys_addr_t psize = omap_ipu_get_mempool_size(
- OMAP_RPROC_MEMPOOL_DYNAMIC);
+ OMAP_RPROC_MEMPOOL_STATIC);
for (i = 0; i < ARRAY_SIZE(omap_rpmsg_vprocs); i++) {
struct omap_rpmsg_vproc *rpdev = &omap_rpmsg_vprocs[i];
@@ -468,6 +468,10 @@ static int __init omap_rpmsg_ini(void)
return -ENOMEM;
}
+ /*
+ * vring buffers are expected to be present at the beginning
+ * of the chosen remoteproc pool
+ */
rpdev->buf_addr = paddr;
rpdev->buf_size = RPMSG_BUFS_SPACE;
rpdev->vring[0] = paddr + RPMSG_BUFS_SPACE;