intel_pmc_ipc: Avoid pending IPC1 command during legacy suspend
authorQipeng Zha <qipeng.zha@intel.com>
Wed, 17 Feb 2016 18:03:38 +0000 (02:03 +0800)
committerDarren Hart <dvhart@linux.intel.com>
Wed, 23 Mar 2016 17:05:47 +0000 (10:05 -0700)
commit1f1ae997fd47d058522f32b91059111dbc4a2b54
tree08fad509a111ab984420925405e587ee2aa8a087
parent1a2f25d5e73f4f1ae985801a05ed37bbe0ea11f3
intel_pmc_ipc: Avoid pending IPC1 command during legacy suspend

During legacy suspend flow, IPC1 commands are being requested
from opregion driver. But the PMC_IPC1 command will timeout as example:

[  281.444600] ipc_debug##: ipc_send_command: cmd=0x201ff,
[  281.444648] wbuf[0]=0x4ea6
[  281.444668] wbuf[1]=0x0
[  281.444674] wbuf[2]=0x0
[  281.444676] wbuf[3]=0x0
[  284.446467] pmc-ipc-plat INT34D2:00: IPC timed out, TS=0x4, CMD=0x200ff

This is because before the opregion driver could send IPC1 commands,
the PMC_IPC irq is already suspended. Which makes the IPC command to
timeout.

Solution: register pmc_ipc irq as IRQF_NO_SUSPEND

Signed-off-by: Ananth Krishna R <ananth.krishna.r@intel.com>
Signed-off-by: Bharath K Veera <bharath.k.veera@intel.com>
Signed-off-by: Qipeng Zha <qipeng.zha@intel.com>
Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
drivers/platform/x86/intel_pmc_ipc.c