sched/cpuidle: reduce IPI store. Backport upstream 3.16 scheduler updates

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
Revert "scheduler: Re-compute time-average nr_running on read"

This reverts commit cc713f0f701c38dfd3512655e5237e6330112ca0.

Signed-off-by: Rob Beane <robbeane@gmail.com>
Revert "scheduler: compute time-average nr_running per run-queue"

This reverts commit 7bff574c27b7b582f09431d8bbf64f1361264142.

Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: refactor stats calculation code to be less intrusive

this is done for those kernels which do not have 100% source code available
and must use existing closed source modules such as wifi drivers

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: add profiles support and misc code optimization

bump to version 3.0

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
Intelli_plug: kernel sched/core: add per cpu nr_running stats

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: use per cpu nr_runnings stats for unplugging cores

bump version to 3.1

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>

Conflicts:
	arch/arm/mach-msm/intelli_plug.c

Change-Id: Ib23e45eb3d189c1147b70f0e61b944b28372ae6a
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: allow cpu_nr_running_threshold to be user adjustable

bump version to 3.2

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: tweak cpu_nr_running threshold

and fix minor logic issues

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: remove legacy msm_rq based code

just use the original algorithm based on nr_running_stats

bump version to 3.3

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: add nr_running_thresholds based on thread capacity of SOC type

instead of hard coded nr_running_thresholds, perform compile time calculation
of thresholds based on thread capacity of SOC types.

bump version to 3.4

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: misc minor code fixup post 3.4 update

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: add automatic dual-core initializations

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: deprecate eco mode. replaced by built-in profile

bump version to 3.5

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: add eco-extreme profile for more dual core use options

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: post 3.5 tweaks and code clean up

bump to version 3.6

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: move to its own directory. It's been cross platform for a while

intelli_plug driver has been working on OMAP44xx, TEGRA 3, Exynos and
MSM Krait/Cortex multi-core SOCs.  So it doesn't make sense to patch on a per
SOC basis, move it to its own ARM platform independent folder so patches can
apply to all supported ARM platforms

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>

Conflicts:
	arch/arm/mach-msm/Kconfig

Change-Id: I9105a13bd1f22aaeb5c947954093281aabc7ef47
Signed-off-by: Rob Beane <robbeane@gmail.com>
kernel/power/powersuspend: cumulative update to version 1.5

- fix hybrid-kernel mode cannot be set through sysfs

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend v1.4 (Yank555.lu)

- add hybrid-kernel mode (autosleep and panel, first wins)
- default to hybrid-kernel mode
- harmonize debug message with my other stuff
- include all 3 modes as default, so it's only commenting out to change

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend v1.3 (Yank555.lu)

- fix stupid typo
- add an alternative hook for screen on / off detection in the display panel driver
(sleeps ~0.1s sooner, wakes up ~1s later then autosleep)

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend v1.2 (Yank555.lu)

- make kernel / userspace mode switchable

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend v1.1 (Yank555.lu)

- make powersuspend not depend on a userspace initiator anymore, but use a hook in autosleep instead.

kernel/power/powersuspend: new PM kernel driver for Android w/o early_suspend (faux123)

Android early_suspend/late_resume PM kernel driver framework has been
deprecated by Google. This new powersuspend PM kernel driver is a replacement
for it and existing early_suspend drivers can be easily adapted to use this
new replacement driver

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
drivers/video/msm/mdss/mdss_dsi_panel.c: update powersuspend hook calls

fix typo!

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>
intelli_plug: unify powersuspend and earlysuspend drivers

also minor clean up on the persist logic

bump to version 3.7

Signed-off-by: Paul Reioux <reioux@gmail.com>
Signed-off-by: Rob Beane <robbeane@gmail.com>

Conflicts:
	arch/arm/hotplug/intelli_plug.c

Change-Id: I693975509ffb650c96251b60417776e984cc1c4f
Signed-off-by: Rob Beane <robbeane@gmail.com>