firmware: imx: make sure MU irq can wake up system from suspend mode
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@nxp.com>5.4-rM2-2.2.x-imx-squashed
parent
255d962ee5
commit
faa4898632
|
@ -9,10 +9,11 @@
|
|||
#include <dt-bindings/firmware/imx/rsrc.h>
|
||||
#include <linux/firmware/imx/ipc.h>
|
||||
#include <linux/mailbox_client.h>
|
||||
#include <linux/suspend.h>
|
||||
|
||||
#define IMX_SC_IRQ_FUNC_ENABLE 1
|
||||
#define IMX_SC_IRQ_FUNC_STATUS 2
|
||||
#define IMX_SC_IRQ_NUM_GROUP 4
|
||||
#define IMX_SC_IRQ_NUM_GROUP 7
|
||||
|
||||
static u32 mu_resource_id;
|
||||
|
||||
|
@ -90,6 +91,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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue