[PORT FROM R2] mid_pmu: ipc and s0ix commands may race to hang system
authorRamachandra Sudarshan N <sudarshan.n.ramachandra@intel.com>
Fri, 23 Dec 2011 13:47:00 +0000 (19:17 +0530)
committerbuildbot <buildbot@intel.com>
Tue, 27 Dec 2011 12:45:49 +0000 (04:45 -0800)
commit24a0bf3f8b70f2158735bf7fdbe28e7c5afac091
treeddd4787bba5e6d175f99fec61fa5a50f8af3f3fb
parent351d265f53f465241f6017a0d9694e1bd0e5799a
[PORT FROM R2] mid_pmu: ipc and s0ix commands may race to hang system

BZ: 18334

It may be possible that s0ix and IPC are both racing to happen
and hence causing PMU IRQ 22 to be missed that causes a system
hang or fabric error.

Fixing this by serializing IPC and S0ix commands.

Using scu_ready_sem to serialize IPC, D0ix and S0ix commands.

Change-Id: I07fe58697a61c6f6c55d7884007e2875573e0ae2
Signed-off-by: Illyas Mansoor <illyas.mansoor@intel.com>
Reviewed-on: http://android.intel.com:8080/29850
Reviewed-by: Ramachandra, Sudarshan N <sudarshan.n.ramachandra@intel.com>
Tested-by: Martin, LoicX <loicx.martin@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
arch/x86/platform/mfld/pmu.c
arch/x86/platform/mfld/pmu.h
drivers/platform/x86/intel_scu_ipc.c
include/linux/intel_mid_pm.h