intel_scu_ipc: Drop to C6s0i0 when there is IPC communication ongoing
authorSamu Onkalo <samu.onkalo@intel.com>
Fri, 2 Sep 2011 12:01:08 +0000 (15:01 +0300)
committermgross <mark.gross@intel.com>
Wed, 9 Nov 2011 20:38:00 +0000 (12:38 -0800)
commit7b6c3be81edfb28c8c32bc464151794cc3d9f134
tree0e23b949fea64e3116461ac13499dead18252978
parente86af77b6c47ed532d524d7dddaac1d6eb7699de
intel_scu_ipc: Drop to C6s0i0 when there is IPC communication ongoing

BZ: 8911

When a IPC command is issued the IPC driver waits for the completion
interrupt from the SCU by issuing a wait_for_competion_timeout API
this causes the IPC driver to sleep, invoking idle process, which then
triggers S0ix, this causes the SCU to disable the interrupts and the
pending IPC completion interrupt is never delivered this causes
IPC timeout to occur.

Fixed this by not doing S0ix by using PM Qos which prevents any deeper
than C6 states from happening. This restrictioin is removed once the
IPC command completes.

Change-Id: I97136b131c1d6019e505e1ab97ec67cec1a473d9
Signed-off-by: Samu Onkalo <samu.onkalo@intel.com>
Signed-off-by: Illyas Mansoor <illyas.mansoor@intel.com>
Signed-off-by: Marie-Celine Dubut <marie.celinex.dubut@intel.com>
Reviewed-on: http://android.intel.com:8080/17210
drivers/platform/x86/intel_scu_ipc.c