[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AM6PR04MB4966BF03338718776465D90680D00@AM6PR04MB4966.eurprd04.prod.outlook.com>
Date: Fri, 24 Apr 2020 02:38:04 +0000
From: Aisheng Dong <aisheng.dong@....com>
To: Anson Huang <anson.huang@....com>,
"shawnguo@...nel.org" <shawnguo@...nel.org>,
"s.hauer@...gutronix.de" <s.hauer@...gutronix.de>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
"festevam@...il.com" <festevam@...il.com>,
"ben.dooks@...ethink.co.uk" <ben.dooks@...ethink.co.uk>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: dl-linux-imx <linux-imx@....com>
Subject: RE: [PATCH 1/2] firmware: imx: make sure MU irq can wake up system
from suspend mode
> From: Anson Huang <Anson.Huang@....com>
> Sent: Friday, April 24, 2020 7:07 AM
>
> IRQF_NO_SUSPEND flag is set for MU IRQ of IPC work, but with this flag set,
> IRQD_WAKEUP_ARMED flag will NOT be set during
> suspend_device_irq() phase, then when MU IRQ arrives, it will NOT wake up
> system from suspend.
>
> To fix this issue, pm_system_wakeup() is called in general MU IRQ handler to
> make sure system can be waked up when MU IRQ arrives.
>
> Signed-off-by: Anson Huang <Anson.Huang@....com>
Reviewed-by: Dong Aisheng <aisheng.dong@....com>
Regards
Aisheng
> ---
> drivers/firmware/imx/imx-scu-irq.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/firmware/imx/imx-scu-irq.c
> b/drivers/firmware/imx/imx-scu-irq.c
> index db655e8..d9dcc20 100644
> --- a/drivers/firmware/imx/imx-scu-irq.c
> +++ b/drivers/firmware/imx/imx-scu-irq.c
> @@ -10,6 +10,7 @@
> #include <linux/firmware/imx/ipc.h>
> #include <linux/firmware/imx/sci.h>
> #include <linux/mailbox_client.h>
> +#include <linux/suspend.h>
>
> #define IMX_SC_IRQ_FUNC_ENABLE 1
> #define IMX_SC_IRQ_FUNC_STATUS 2
> @@ -91,6 +92,7 @@ static void imx_scu_irq_work_handler(struct work_struct
> *work)
> if (!irq_status)
> continue;
>
> + pm_system_wakeup();
> imx_scu_irq_notifier_call_chain(irq_status, &i);
> }
> }
> --
> 2.7.4
Powered by blists - more mailing lists