summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRichard Zhu <richard.zhu@freescale.com>2015-06-30 09:48:57 +0800
committerRichard Zhu <richard.zhu@freescale.com>2015-06-30 10:40:30 +0800
commit60b0b8c534f031f325fd4971bc222da3398e96e1 (patch)
treefaac8981fad0257a42c93d48049fc5ac4d193191 /arch
parentd529498fc60480289a8f3be45e3533094d5f1d23 (diff)
MLK-11155-1 arm: mu: keep mu rpmsg int enable
Keep the mu rpmsg int always enable. - rpmsg transmissions are async, and drived by mu interactions between the amp cores. - the schedule delay is not real time mechanism, the mu interactions maybe blocked by the previous rpmsg int disable when there are very quick intercations between the amp cores. Solution: Keep mu rpmsg int always enable, since it is just to notify rpmsg master that there is buffer to read, and can be re-entry multi-times. Signed-off-by: Richard Zhu <richard.zhu@freescale.com> (cherry picked from commit 8487604b25aec5ef50ed865c2ccf2766eb658e78)
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-imx/mu.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/arm/mach-imx/mu.c b/arch/arm/mach-imx/mu.c
index dc5046530bc3..4131b80c751f 100644
--- a/arch/arm/mach-imx/mu.c
+++ b/arch/arm/mach-imx/mu.c
@@ -248,8 +248,6 @@ static void rpmsg_work_handler(struct work_struct *work)
blocking_notifier_call_chain(&(mu_rpmsg_box.notifier), 4,
(void *)m4_message);
m4_message = 0;
- writel_relaxed(readl_relaxed(mu_base + MU_ACR) | BIT(26),
- mu_base + MU_ACR);
}
/*!
@@ -452,8 +450,6 @@ static irqreturn_t imx_mu_isr(int irq, void *param)
if (irqs & (1 << 26)) {
/* get message from receive buffer */
m4_message = readl_relaxed(mu_base + MU_ARR1_OFFSET);
- writel_relaxed(readl_relaxed(mu_base + MU_ACR) & (~BIT(26)),
- mu_base + MU_ACR);
schedule_delayed_work(&rpmsg_work, 0);
}