diff options
author | Richard Zhu <richard.zhu@freescale.com> | 2015-06-30 09:48:57 +0800 |
---|---|---|
committer | Richard Zhu <richard.zhu@freescale.com> | 2015-06-30 10:40:30 +0800 |
commit | 60b0b8c534f031f325fd4971bc222da3398e96e1 (patch) | |
tree | faac8981fad0257a42c93d48049fc5ac4d193191 /arch | |
parent | d529498fc60480289a8f3be45e3533094d5f1d23 (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.c | 4 |
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); } |