msm: board-8064: Place the movable zone

Locating the unstable zone and placing the movable zone need
to be coupled together to get correct system behavior. The
placing of the movable zone was missing on 8064. Place the
movable after locating the unstable zone to ensure consistency
of the system.

Change-Id: I3fdbd5fc6d5bf996d6187d6b64cf8d50eefd3ff4
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8064.c b/arch/arm/mach-msm/board-8064.c
index 01478ac..d0045e2 100644
--- a/arch/arm/mach-msm/board-8064.c
+++ b/arch/arm/mach-msm/board-8064.c
@@ -454,11 +454,24 @@
 static void __init apq8064_reserve(void)
 {
 	apq8064_set_display_params(prim_panel_name, ext_panel_name);
-	reserve_info = &apq8064_reserve_info;
-	locate_unstable_memory();
 	msm_reserve();
 }
 
+static void __init place_movable_zone(void)
+{
+	movable_reserved_start = apq8064_reserve_info.low_unstable_address;
+	movable_reserved_size = apq8064_reserve_info.max_unstable_size;
+	pr_info("movable zone start %lx size %lx\n",
+		movable_reserved_start, movable_reserved_size);
+}
+
+static void __init apq8064_early_reserve(void)
+{
+	reserve_info = &apq8064_reserve_info;
+	locate_unstable_memory();
+	place_movable_zone();
+
+}
 #ifdef CONFIG_USB_EHCI_MSM_HSIC
 static struct msm_hsic_host_platform_data msm_hsic_pdata = {
 	.strobe		= 88,
@@ -2236,6 +2249,7 @@
 	.timer = &msm_timer,
 	.init_machine = apq8064_cdp_init,
 	.init_early = apq8064_allocate_memory_regions,
+	.init_very_early = apq8064_early_reserve,
 MACHINE_END
 
 MACHINE_START(APQ8064_MTP, "QCT APQ8064 MTP")
@@ -2246,6 +2260,7 @@
 	.timer = &msm_timer,
 	.init_machine = apq8064_cdp_init,
 	.init_early = apq8064_allocate_memory_regions,
+	.init_very_early = apq8064_early_reserve,
 MACHINE_END
 
 MACHINE_START(APQ8064_LIQUID, "QCT APQ8064 LIQUID")
@@ -2256,6 +2271,7 @@
 	.timer = &msm_timer,
 	.init_machine = apq8064_cdp_init,
 	.init_early = apq8064_allocate_memory_regions,
+	.init_very_early = apq8064_early_reserve,
 MACHINE_END
 
 MACHINE_START(MPQ8064_HRD, "QCT MPQ8064 HRD")
@@ -2265,6 +2281,7 @@
 	.handle_irq = gic_handle_irq,
 	.timer = &msm_timer,
 	.init_machine = apq8064_cdp_init,
+	.init_very_early = apq8064_early_reserve,
 MACHINE_END
 
 MACHINE_START(MPQ8064_DTV, "QCT MPQ8064 DTV")
@@ -2274,5 +2291,6 @@
 	.handle_irq = gic_handle_irq,
 	.timer = &msm_timer,
 	.init_machine = apq8064_cdp_init,
+	.init_very_early = apq8064_early_reserve,
 MACHINE_END