Revert "vidc: Sync with CM MSM8660 kernel"

This reverts commit 6780031d345a33114b848a8fcfe15970f90452e6.
Revert "pyramid: Move touchscreen suspend/resume handling to msm_fb"

This reverts commit 28337492eefce4d3c2cb02f1f457e59b3ddee5cc.
Revert "touchscreen: cy8c_tma_ts: Remove early suspend"

This reverts commit 58943d86fdb70565ba5c9f121cf56e5e576835aa.
Revert "Update CPU-boost hooks"

This reverts commit 347d79ddb7f2385f337d9cdbdb08d778c263d3e1.
Revert "Add initial CPU-boost-framework hooks"

This reverts commit 8a5a2338114c42ed1c7d9833c2b9d52df4f4f938.
gpu: msm: Fix z180 regulators

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Revert "Sultan_pyramid_defconfig: Disable 2D GPUs"

This reverts commit 4c0f8fcd08f102f88594289378136957ba34c6df.
cpu-boost_framework: Set boost to maxfreq if boost > maxfreq

Make this driver more generic.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu-boost_framework: Clean out useless features

*Infinite boost is kinda useless
*Startup & shutdown functions are not very useful
*Cleaned up syntax in some places

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu-boost_framework: Add proper hotplug management

Now the CPU-boost framework will properly boost/unboost cores on its own, regardless of whether or not they've been hotplugged. CPU-boost framework is also no longer arch-dependent for proper functionality (it can be used on devices that don't use an MSM chipset).

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu-boost_framework: Move working variables into boost struct

This cleans up some redundancies and overall looks cleaner.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu-boost_framework: Remove local_policy

This is useless.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
Change CPU-boost framework to CPU Input Boost

Most, if not all of the cases where the CPU-boost framework was useful are obsolete when input boosting is used, so remove the cpu_boost_timeout() API and make this driver handle only input boosting.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu_input_boost: Add keypad boosting

Thanks to CAF for this mode.
cpu_input_boost: Add suspend/resume handler

Input boosting can be triggered while the device is suspended (ex. via the volume buttons), causing some nasty kernel warnings.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu_input_boost: Don't use boost in hardirq context

This can lead to deadlocking during suspend/resume sequence because we are using timer-based boosts.

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu_input_boost: Make it fancy

*Driver now runs in its own high-priority workqueue
*Improved hardirq context check (now it blocks boosts much less)
*Defined boost_policy as per cpu
*Added delay in-between boost requests (thanks to CAF)
*Overall code is much cleaner and more robust

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu_input_boost: Add maxfreq check for offline CPUs

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu_input_boost: Only cancel delayed work once

Signed-off-by: Sultanxda <sultanxda@gmail.com>
cpu_input_boost: Make it even fancier

*Work is declared for each CPU
*Split boost and restore work
*Removed hardirq context check
*Removed redundant checks

Now cpu_input_boost is ready for individual variable CPU boosting.

Signed-off-by: Sultanxda <sultanxda@gmail.com>