backport mach-msm/cpuidle and mach-msm/pm-8x60 updates from codeurora msm-3.4

msm: pm-8x60: Move target independent data into the driver

pm-8x60 and cpuidle has target independent driver configuration data
that need not be in boards file. Move these data into the driver
itself.

Change-Id: I4c744dd006945bed709a393cde2b0de2414e9fce
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
_____________

msm: pm-8x60: Add retention mode for processor cores

Application processors can do retention mode (apps sleep) in which
the processor reduces the voltage and gates the clock and when an
interrupt occurs will bail out of the low power mode and resume from the
command after WFI.

In retention mode, processor core is not reset and so will not do a warm
boot from TZ.

Change-Id: Id035602dfc53edde88a17ea194dcc85df877e9ea
Signed-off-by: Praveen Chidambaram <pchidamb@codeaurora.org>
____________

msm: pm: clean msm_pm_pc_pgd in the cache after writing

Since a CPU will read the msm_pm_pc_pgd value as it comes
up from power collapse when caches are disabled, it needs
to be guaranteed that the value has been written to memory
before any CPU power collapses.

Change-Id: I7f6358a001255f9bac99a6378532c96fd460f82b
Signed-off-by: Steve Muckle <smuckle@codeaurora.org>
___________

msm: pm-8x60: Check for SPM status to verify CPU_DEAD

On newer MSM targets including 8960, the clocks for the cpu being
hot unplugged is turned off during the CPU_DEAD callback on the
cpu initiating the hotplug. The initiating CPU polls for the SPM sleep
status of the secondary cpu in platform_cpu_kill to ensure that the
secondary cpu has been power collapsed before returning to process the
CPU_DEAD callbacks.

Change-Id: I5085c353f1b5d08622504cea8430bb8bdb1192f6
Signed-off-by: Maheshkumar Sivasubramanian <msivasub@codeaurora.org>
____________

msm: cpuidle: Don't disable irqs again

cpu_idle() disables irqs before calling down into the cpuidle
driver via cpuidle_idle_call(). Disabling irqs again in
msm_cpuidle_enter() is wasteful and unnecessary. It also inhibits
our ability to determine the largest irq latency when the cpu
idles for extended periods of time because the irqsoff trace is
reenabled when the irqs are disabled in msm_cpuidle_enter().

Note that we still reenable irqs before returning, as is required
by the ARM idle loop.

Change-Id: I925478d8fef88ab490959622bc68303f59cc6e79
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>