linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mailbox: imx: keep MU irq working during suspend/resume
@ 2019-02-12 12:40 Anson Huang
  2019-03-11  7:42 ` Anson Huang
  0 siblings, 1 reply; 2+ messages in thread
From: Anson Huang @ 2019-02-12 12:40 UTC (permalink / raw)
  To: jassisinghbrar, shawnguo, s.hauer, kernel, festevam,
	linux-kernel, linux-arm-kernel
  Cc: dl-linux-imx

During noirq suspend phase, mailbox MU irq will be masked
but many drivers still need to communicate with system
controller firmware via mailbox, if MU irq is masked, it
will cause RPC timeout as below:

[   23.372103] imx-scu scu: RPC send msg timeout

Setting MU irq to be wakeup source is NOT working as GIC
driver does NOT have .irq_set_wake implemented, so to
support suspend/resume, just make imx mailbox driver NOT
suspend, since MU is always a wakeup source on i.MX platforms
with system controller inside, and its power/clock is
maintained by system controller, mailbox driver no need
to manage them.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
 drivers/mailbox/imx-mailbox.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
index 774362a..85fc5b5 100644
--- a/drivers/mailbox/imx-mailbox.c
+++ b/drivers/mailbox/imx-mailbox.c
@@ -187,8 +187,8 @@ static int imx_mu_startup(struct mbox_chan *chan)
 		return 0;
 	}
 
-	ret = request_irq(priv->irq, imx_mu_isr, IRQF_SHARED, cp->irq_desc,
-			  chan);
+	ret = request_irq(priv->irq, imx_mu_isr, IRQF_SHARED |
+			  IRQF_NO_SUSPEND, cp->irq_desc, chan);
 	if (ret) {
 		dev_err(priv->dev,
 			"Unable to acquire IRQ %d\n", priv->irq);
-- 
2.7.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* RE: [PATCH] mailbox: imx: keep MU irq working during suspend/resume
  2019-02-12 12:40 [PATCH] mailbox: imx: keep MU irq working during suspend/resume Anson Huang
@ 2019-03-11  7:42 ` Anson Huang
  0 siblings, 0 replies; 2+ messages in thread
From: Anson Huang @ 2019-03-11  7:42 UTC (permalink / raw)
  To: Anson Huang, jassisinghbrar, shawnguo, s.hauer, kernel, festevam,
	linux-kernel, linux-arm-kernel
  Cc: dl-linux-imx

Ping...

Best Regards!
Anson Huang

> -----Original Message-----
> From: Anson Huang [mailto:Anson.Huang@nxp.com]
> Sent: 2019年2月12日 20:40
> To: jassisinghbrar@gmail.com; shawnguo@kernel.org;
> s.hauer@pengutronix.de; kernel@pengutronix.de; festevam@gmail.com;
> linux-kernel@vger.kernel.org; linux-arm-kernel@lists.infradead.org
> Cc: dl-linux-imx <linux-imx@nxp.com>
> Subject: [PATCH] mailbox: imx: keep MU irq working during suspend/resume
> 
> During noirq suspend phase, mailbox MU irq will be masked but many
> drivers still need to communicate with system controller firmware via
> mailbox, if MU irq is masked, it will cause RPC timeout as below:
> 
> [   23.372103] imx-scu scu: RPC send msg timeout
> 
> Setting MU irq to be wakeup source is NOT working as GIC driver does NOT
> have .irq_set_wake implemented, so to support suspend/resume, just make
> imx mailbox driver NOT suspend, since MU is always a wakeup source on
> i.MX platforms with system controller inside, and its power/clock is
> maintained by system controller, mailbox driver no need to manage them.
> 
> Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
> ---
>  drivers/mailbox/imx-mailbox.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
> index 774362a..85fc5b5 100644
> --- a/drivers/mailbox/imx-mailbox.c
> +++ b/drivers/mailbox/imx-mailbox.c
> @@ -187,8 +187,8 @@ static int imx_mu_startup(struct mbox_chan *chan)
>  		return 0;
>  	}
> 
> -	ret = request_irq(priv->irq, imx_mu_isr, IRQF_SHARED, cp->irq_desc,
> -			  chan);
> +	ret = request_irq(priv->irq, imx_mu_isr, IRQF_SHARED |
> +			  IRQF_NO_SUSPEND, cp->irq_desc, chan);
>  	if (ret) {
>  		dev_err(priv->dev,
>  			"Unable to acquire IRQ %d\n", priv->irq);
> --
> 2.7.4

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-03-11  7:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-12 12:40 [PATCH] mailbox: imx: keep MU irq working during suspend/resume Anson Huang
2019-03-11  7:42 ` Anson Huang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).