summaryrefslogtreecommitdiff
path: root/arch/arm/mach-msm/smd.c
diff options
context:
space:
mode:
authorDima Zavin <dima@android.com>2010-01-29 22:43:42 +0300
committerDaniel Walker <dwalker@codeaurora.org>2010-05-12 20:15:35 +0400
commitb42dc44afca902d19f86d541cbb665f31b9149a0 (patch)
tree9660001ed178bfa9dc52a5138b312f02a664cd33 /arch/arm/mach-msm/smd.c
parent636eb9cbaef7989ce7809a0d842bf78470a0a1f4 (diff)
downloadlinux-b42dc44afca902d19f86d541cbb665f31b9149a0.tar.xz
arm: msm: correctly signal the apps-to-modem irq in smd/proc_comm
Signed-off-by: Dima Zavin <dima@android.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
Diffstat (limited to 'arch/arm/mach-msm/smd.c')
-rw-r--r--arch/arm/mach-msm/smd.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/arch/arm/mach-msm/smd.c b/arch/arm/mach-msm/smd.c
index 086fd77dc891..b6966680a2d8 100644
--- a/arch/arm/mach-msm/smd.c
+++ b/arch/arm/mach-msm/smd.c
@@ -69,24 +69,32 @@ static void smd_diag(void);
static unsigned last_heap_free = 0xffffffff;
-#define MSM_A2M_INT(n) (MSM_CSR_BASE + 0x400 + (n) * 4)
+static inline void msm_a2m_int(uint32_t irq)
+{
+#if defined(CONFIG_ARCH_MSM7X30)
+ writel(1 << irq, MSM_GCC_BASE + 0x8);
+#else
+ writel(1, MSM_CSR_BASE + 0x400 + (irq * 4));
+#endif
+}
+
static inline void notify_other_smsm(void)
{
- writel(1, MSM_A2M_INT(5));
+ msm_a2m_int(5);
#ifdef CONFIG_QDSP6
- writel(1, MSM_A2M_INT(8));
+ msm_a2m_int(8);
#endif
}
static inline void notify_modem_smd(void)
{
- writel(1, MSM_A2M_INT(0));
+ msm_a2m_int(0);
}
static inline void notify_dsp_smd(void)
{
- writel(1, MSM_A2M_INT(8));
+ msm_a2m_int(8);
}
static void smd_diag(void)