msm8974: Enable ULPS for Truly panel too.

Change-Id: I7c333bb01a0ba4c6fda1ebae51bc491215251e77
msm8974: Fix a screen corruption issue

 * Diogo noticed that Facebook's popups were leaving artifacts
   when you moved them around.
 * Adjust the partial-update ROI alignment to compensate for
   this case.

Change-Id: I2f57b0b17596dabdae89b173e0b932959ceb1db4
intelli_plug: add new hotplug driver from Faux Kernel - v3.7

Change-Id: Id3bc0c9a8c44cd977bc53ad29342123ff28f5543
intelli_plug: merged scheduler patches for intelli plug - v3.7

Change-Id: I1fc1ca11a0898614551213ffcd8610086e5971a9
intelli_plug: merged with last N5 changes - v3.7

Change-Id: If104b09a598450e1fd789d3f6ef4cbc5439470f5
intelli_plug : bump to v3.8 (squashed, details below) (faux123)

intelli_plug: fix logic error for eco mode profiles

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

intelli_plug: only apply suspend/resume logic if active

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

intelli_plug: fix incorrect cpufreq API usage

This resolves the wakeup kick and screen off max issues

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

intelli_plug: initialize ip_info struct element during driver init

this will eliminate race issues

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

intelli_plug: use primary CPU's info data for non-boot cpu's settings

Async CPU design has caused quite a bit of grief for controlling cpu
frequencies

bump to version 3.8

Change-Id: I7865a42f17e2a0dd5692ebad18caaaa022ffb85a
Signed-off-by: Paul Reioux <reioux@gmail.com>
intelli_plug: older Qualcomm kernel compatibility fixup

ARGH... really angry at CAF code.

some cpufreq driver APIs are incredibly unstable with some of the older
MSM kernels.  The correct way is the fix the cpufreq drivers, but there are
tons of variations out there, so rather than depending on a fix, make
intelli_plug more universal by avoiding the troubling APIs altogether

Change-Id: I4c4396988103fcbaf24f9562ea7cd11e0bc80a2d
Signed-off-by: Paul Reioux <reioux@gmail.com>
powersuspend: new PM kernel driver for Android w/o early_suspend

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>

powersuspend: fix logci derps :p

Change-Id: I7bb9d32b7e7ce92ee1030e3a3c0e8888a88ec066
Signed-off-by: Paul Reioux <reioux@gmail.com>
kernel/power/powersuspend: remove userspace dependency from powersuspend

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

Change-Id: I8d50261b4b32b72883361e9bdab8e351df358705
Signed-off-by: Paul Reioux <reioux@gmail.com>
kernel/power/powersuspend: add back userpace control w/ default kernel control

make kernel / userspace mode switchable

Change-Id: Ia68dc59f8144798178f6e6fae8fb9fbdb818825b
Signed-off-by: Paul Reioux <reioux@gmail.com>
kernel/power/powersuspend: default to userspace for now

Change-Id: Iedd4190d103c5a419744a84d7b13dc2ba420f011
Signed-off-by: Paul Reioux <reioux@gmail.com>
kernel/power/powersuspend: LCD screen on/off hooks (Yank555.lu)

- add an alternative hook for screen on / off detection in the display
  pannel driver
- sleeps  ~0.1s sooner, wakes up ~1s later then autosleep
- clean up source formatting a bit (Paul Reioux)

Change-Id: I47b0b5a8982b57f97ef50e92f1c50d6df67b3f96
Signed-off-by: Paul Reioux <reioux@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

Change-Id: I72466cce1f3cdf2f854e580dbcb79106fcfc1434
Signed-off-by: Paul Reioux <reioux@gmail.com>
Defconfig: Enable powersuspend

Change-Id: I9db63f3d01f2951720fb6da1908e4cde5889da54
PM: devfreq: Fix simple_ondemand crashing on startup

simple_ondemands private data must be set to NULL, otherwise we would
run into a NULL pointer in kgsl_devfreq_get_dev_status().

Change-Id: I6cc6a8b11e3b58b8c3e3c26d43ee36949cf62351
PM: devfreq: Report correct GPU frequency in sysfs

Change-Id: I5f6f3ec8a4c77befa15df678842c242a68474446