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>
This commit is contained in:
committed by
Daniel Walker
parent
636eb9cbae
commit
b42dc44afc
@@ -130,4 +130,10 @@
|
|||||||
#define MSM_AD5_SIZE (SZ_1M*13)
|
#define MSM_AD5_SIZE (SZ_1M*13)
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(CONFIG_ARCH_MSM7X30)
|
||||||
|
#define MSM_GCC_BASE IOMEM(0xF8009000)
|
||||||
|
#define MSM_GCC_PHYS 0xC0182000
|
||||||
|
#define MSM_GCC_SIZE SZ_4K
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -44,6 +44,9 @@ static struct map_desc msm_io_desc[] __initdata = {
|
|||||||
MSM_DEVICE(CLK_CTL),
|
MSM_DEVICE(CLK_CTL),
|
||||||
#ifdef CONFIG_MSM_DEBUG_UART
|
#ifdef CONFIG_MSM_DEBUG_UART
|
||||||
MSM_DEVICE(DEBUG_UART),
|
MSM_DEVICE(DEBUG_UART),
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_ARCH_MSM7X30
|
||||||
|
MSM_DEVICE(GCC),
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
.virtual = (unsigned long) MSM_SHARED_RAM_BASE,
|
.virtual = (unsigned long) MSM_SHARED_RAM_BASE,
|
||||||
|
@@ -23,11 +23,18 @@
|
|||||||
|
|
||||||
#include "proc_comm.h"
|
#include "proc_comm.h"
|
||||||
|
|
||||||
#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_proc_comm(void)
|
static inline void notify_other_proc_comm(void)
|
||||||
{
|
{
|
||||||
writel(1, MSM_A2M_INT(6));
|
msm_a2m_int(6);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define APP_COMMAND 0x00
|
#define APP_COMMAND 0x00
|
||||||
|
@@ -69,24 +69,32 @@ static void smd_diag(void);
|
|||||||
|
|
||||||
static unsigned last_heap_free = 0xffffffff;
|
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)
|
static inline void notify_other_smsm(void)
|
||||||
{
|
{
|
||||||
writel(1, MSM_A2M_INT(5));
|
msm_a2m_int(5);
|
||||||
#ifdef CONFIG_QDSP6
|
#ifdef CONFIG_QDSP6
|
||||||
writel(1, MSM_A2M_INT(8));
|
msm_a2m_int(8);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void notify_modem_smd(void)
|
static inline void notify_modem_smd(void)
|
||||||
{
|
{
|
||||||
writel(1, MSM_A2M_INT(0));
|
msm_a2m_int(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void notify_dsp_smd(void)
|
static inline void notify_dsp_smd(void)
|
||||||
{
|
{
|
||||||
writel(1, MSM_A2M_INT(8));
|
msm_a2m_int(8);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void smd_diag(void)
|
static void smd_diag(void)
|
||||||
|
Reference in New Issue
Block a user