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
msm: mdss: Fix check for highest of overlap and prefill bw calc

This check is supposed to be used to get the max between overlap and
prefill bandwidth value. This value is used when calculating the ib
bandwidth value to request when bus bandwidth is updated. Having a value
that is too low results in mdp underrun.

Change-Id: Ie1302737f004d8e030f8d61c75d4301fe99b1069
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
ASoC: msm: compr: Ensure drain sequence is executed

This change ensures drain sequence is executed even if
a pause/resume commands are sent from userspace while
the control thread is waiting for all buffers to be consumed
by DSP.
CRs-Fixed: 711920

Change-Id: I6ffcc072e00fa1865b0484f54fa6b070c1a73cf2
Signed-off-by: Haynes Mathew George <hgeorge@codeaurora.org>
mdss: mdp: Appropriate check to see if right LM is needed

New fixes rely on selecting right layer mixer by changing
destination layer x offset to be >= left layer mixer's width.
This patch is to allow for this logic to be corrected on
chipsets that do not support x offset being greater than
layer mixer's width.

Change-Id: I860e87a8092c81a0a1523ee7b47b02b57160f4af
Signed-off-by: Terence Hampson <thampson@codeaurora.org>
msm: msm_bus: Suspected fix for deadlock

mutex is not released while checking for
null pdata which can lead to possible deadlock
condition.

Change-Id: I1dc3efd725df5bb75c96434a81d9a8f3f868cd0a
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
ASoC: msm: Fix ADM GET PARAM callback

Add size check on inband get param call and do
not process inband if RTAC is active.

Change-Id: I2c099f5ea254a214f224dda556773a7fe6754fe5
CRs-fixed: 548397
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
msm: vidc: Enable clocks before iommu attach

Change the fw load sequence to match the opposite of
unload sequence. This makes sure all clocks are on before calling
iommu attach.

Change-Id: I1113357c37158da5889f26da8fd4a74d0d170c07
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>