aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-msm/proc_comm.c
diff options
context:
space:
mode:
authorDaniel Walker <c_dwalke@quicinc.com>2010-03-18 15:31:08 -0400
committerDaniel Walker <dwalker@codeaurora.org>2010-05-12 12:19:33 -0400
commit0aec66d493c1476daa88ec56b1076e51f1ceff0b (patch)
treefed44f8a6e89719dba16dd5a22978368c28394c9 /arch/arm/mach-msm/proc_comm.c
parentb13525c2637957a757709945fbc9bc8b1065d071 (diff)
arm: msm: smd: fix SMD modem processor sync condition
When booting up we need to wait for the modem processor to partially boot. This is because the modem processor does resource allocation for us. If we don't wait the modem won't honor our requests and we end up crashing or in an unknown state. This change just formalizes the waiting process. Signed-off-by: Daniel Walker <c_dwalke@quicinc.com>
Diffstat (limited to 'arch/arm/mach-msm/proc_comm.c')
-rw-r--r--arch/arm/mach-msm/proc_comm.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/arm/mach-msm/proc_comm.c b/arch/arm/mach-msm/proc_comm.c
index 1cbdebf57c37..67e701c7f183 100644
--- a/arch/arm/mach-msm/proc_comm.c
+++ b/arch/arm/mach-msm/proc_comm.c
@@ -114,4 +114,17 @@ int msm_proc_comm(unsigned cmd, unsigned *data1, unsigned *data2)
114 return ret; 114 return ret;
115} 115}
116 116
117 117/*
118 * We need to wait for the ARM9 to at least partially boot
119 * up before we can continue. Since the ARM9 does resource
120 * allocation, if we dont' wait we could end up crashing or in
121 * and unknown state. This function should be called early to
122 * wait on the ARM9.
123 */
124void __init proc_comm_boot_wait(void)
125{
126 void __iomem *base = MSM_SHARED_RAM_BASE;
127
128 proc_comm_wait_for(base + MDM_STATUS, PCOM_READY);
129
130}