Squash MPDecision update from hammerhead.

mpdec: FIX BUG#27

Unplugging a boosted CPU will cause it to come back with
the boosted minimum frequency and stay on it.
(it gets stuck on boost)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mpdec: if !scroff_single_core unboost all cpus while suspending

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

mpdec: fix missing log message on resume if !scroff_single_core

Change-Id: I8c672dd380b94696e27254415aa8d9ace5d16980
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>
Squash Showp's Thermal driver

drivers: thermal: create kernel thermal readout

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

defconfig: disable not needed thermal driver

This caused a race condition when assigning trusted zones.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: patch down msm_thermal, pre device

This also removes the cputable freq changes, which
we won't need since we use static values.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c
	include/linux/msm_thermal.h

msm_thermal: 3-phase thermal throttling

This introduces 3-phase thermal throttling to the existing
msm_thermal driver (it now works more like thermald).
This also changes the sampling rate to check every second
for increased temperatures.
Additionally this adds clear thresholds for the 2 new tripping
points.

Signed-off-by: showp1984 <showp1984@gmail.com>

msm_thermal: add sysfs interface

This adds a sysfs interface to msm_thermal.
I've also restructured the tuneables into a struct
for better overview.

Signed-off-by: showp1984 <showp1984@gmail.com>

msm_thermal: move sysfs to /sys/kernel/msm_thermal/conf/

Signed-off-by: showp1984 <showp1984@gmail.com>

msm_thermal: fix saving pre-throttled freq

Signed-off-by: showp1984 <showp1984@gmail.com>

drivers/thermal: create own unbound (highpri) wq for msm_thermal

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

drivers/thermal: adapt msm_thermal for quadcore & mako

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

drivers/thermal: add emergency shutdown

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: emergency shutdown rework

additionally to initiating the shutdown the lowest possible
frequency should be set. (=max throttle atm)
update the cpufreq and do not cancel the workqueue
+ some small code improvements

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: use temperature1 sensor too
The sensor1 seems to be cpu related too, and it usually
shows higher temps (~2°C). Use the higher value of both
to decide if thermal throttling is neccessary.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: check every 100ms for thermal changes
Tests have shows that the apq8064 likes to jump from
~69°C to ~80°C within 250ms while overclocked.
schedule checks more often to avoid that.
Also increase shutdown temp to 81°C (+1).

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: do not wait, unthrottle now

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: remove not needed condition

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c

thermal: fix clear thresholds

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: only update freq if new is not > than saved_max

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: rework throttling states

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: set cpus online to set frequency back to unthrottled

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: change temperatures slightly

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fixing debug messages

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fix mid scaling

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: don't calculate max everytime, once is enough

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fix hardware issue with temp sensor 1

Ignore insane values and also ignore sensor 1 in suspend.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: assume that sensor1 fails as default

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm8960_tsens: export number of sensors as symbol

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm8960_tsens: enable all thermal devices

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm8960_tsens.c

msm_thermal: patch to upstream

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c

Revert "msm8960_tsens: export number of sensors as symbol"

This reverts commit 05fab4aa5618a18188c1f8ad599d42660bee6207.

thermal: update upstream msm_thermal with 3-phase control

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/msm_thermal.c

thermal: add sensor id to sysfs

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: check every 150ms

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal: fix previous lazyness

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Revert "thermal: add sensor id to sysfs"

This reverts commit 32941c2ab7c0ffd6f61f1fc2aa9171fcefc9c290.

This was meant for multi sensor control, which will be implemented later.

msm_thermal: remove platform driver

I don't know why I even bothered with this before, since we are no
longer msm_thermal (qcom) compatible anyway.

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_thermal: export if we are currently throttled

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_thermal: fix spacing throughout the whole file

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_thermal: add stats for throttling

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Revert "msm_thermal: remove platform driver"

This reverts commit 242417400ca7814773e9ea3652ef181b84924e67.

thermal: Fix critical enable/disable bug from STOCK source
This fixes a critical bug which only allowed to disable the thermal guard
but not to re-enable it again. Once disabled the thermal guard would stay
off until rebooted. This allows to re-enable it again. (sysfs)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

thermal/mpdec: export throttle indicator and don't input boost if we are throttled

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

Conflicts:
	drivers/thermal/bricked_thermal.c

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

thermal: when we restore the original limits use the norm_min freq from mpdecision inputboost

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_mpdecision: add missing #ifdefs around thermal related code
This fixes issue #19 (compilation without thermal)

Signed-off-by: Dennis Rassmann <showp1984@gmail.com>

msm_mpdecision: opt out early if we are thermal throttled

Change-Id: I6eb3b769f545f202f97a688fc87ddc63d30c190b
Signed-off-by: Dennis Rassmann <showp1984@gmail.com>
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>