Squash I/O scheduler additions and rename defconfig

Add Fifo Iosched

* Let's give this a try!

Signed Off By: Chester Kener <Cl3Kener@gmail.com>

Conflicts:
	arch/arm/configs/cyanogenmod_hercules_defconfig
	block/Kconfig.iosched
	block/Makefile

Add bfq io scheduler

Rename defconfig...we aren't CM

Whoops, forgot to add this little guy to my defconfig

Add IO Schedulers

Conflicts:
	arch/arm/configs/cyanogenmod_hercules_defconfig
	block/Kconfig.iosched
	block/Makefile

Tripndroid IO

https://github.com/tommytarts/quantumkernel/commit/6dc57f8a3f6ea16aa805413eeccabf2c57982928

Conflicts:
	block/Kconfig.iosched
	block/Makefile
cpufreq/cpufreq_intellidemand: intellidemand cpufreq
 governor (version 4.0)

Intellidemand is inspired by ondemand governor. Its main features are:

 - auto cpu hotplugging based on runnable thread average calculations
 - detection of browsing mode (long screen on activities with moderate run
   queue depth =< 45 )
 - limit max frequencies when in browsing mode to conserve battery for long
   duration tasks

Browsing State Determination:
 1- Browsing state is enabled as power-on default. Browsing state is disabled
    when run queue depth is > 45 (very high instantaneous spikes)

Browsing State Limit Max Freq Logic (sliding window algorithm):
 1- While Screen is ON > 3 min, and average load of the CPU is < 35%, then
    CPU Max frequencies will remain power-on default
 2- While Screen is On, if average CPU load > 35%, both CPUs max frequencies
    will be limited to a lower user configurable max value
3- While Screen is On, After both CPUs' Max is limited to lowered max, when
    the average CPU load has dropped down to less than < 25%, then both CPUs
    Max freq will be restored to back to power-on default

Runnable Thread Auto-hotplug (fast hotplug / slow unplug algorithm):
 1- When average number of running thread is < threshold, 2nd cpu will be
    unplugged.
 2- When > threshold, 2nd cpu will be hotplugged.
 3- The logic applies a fast hotplug and slow unplug algorithm so 2nd core
    will stay enabled longer to help deal with performance spikes

changes from Ver 2.0 -> Ver 3.0:
  - remove GPU Busy dependency for browsing state detection (this will make
    the governor more portable to other platforms without specific GPU
    architecture knowledge)

dependencies:
  -- Qualcomm's run queue average logic (SOC independent logic)
  -- TI's runnable thread average logic (SOC independent logic)

forward ported to Linux 3.4 for use on HTC One

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

Conflicts:
	arch/arm/mach-msm/cpufreq.c
cpufreq: intelliactive: initial coding and introduction!

intelliactive is based on Latest Google Interactive cpufreq governor from
Google.  The original Interactive provides smooth UI operations but suffers
slight battery drain due to its aggressive policies.  Intelliactive is an
improvement built on top of it.

It has the following enhancements added:
1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to
   max freq
3. Checks for offline cpus and short circuits some unnecessary checks to
   improve code execution paths
4. removed trace calls

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

intelliactive: tune for APQ8064 devices

Signed-off-by: Paul Reioux <reioux@gmail.com>
Remove msm governor
Add abyssplug, adaptive, nightmare, smartassH3, and wheatley governors

Conflicts:
	arch/arm/configs/poke_defconfig
Add asswax, badass, and dancedance governors and
set Intelliactive as default gov

Conflicts:
	arch/arm/configs/poke_defconfig
Add fast charge from S3 + droidroidz otg patch

Conflicts:
	arch/arm/mach-msm/Makefile
Squash FauxSound Control commits

Sound Control: Sound control for WCD93xx codec

Fully GPL'ed version.

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

Conflicts:
	sound/soc/codecs/Kconfig
	sound/soc/codecs/Makefile

Conflicts:
	sound/soc/codecs/Kconfig
	sound/soc/codecs/Makefile

Conflicts:

	sound/soc/codecs/Kconfig
	sound/soc/codecs/Makefile

Sound Control: Updated for HTC One (m7)

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

Sound Control: Added headphone poweramp controls

bump version to 2.1 to reflec this new addition

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

sound control: modified for Samsung Galaxy S4 (GT-9505 variants)

Signed-off-by: faux123 <reioux@gmail.com>
Add simple GPU governor
Conservative scaling GPU governor (thanks to @Entropy512)
Add Samsung official exFat support
exfat: Upgrade to 1.2.6
frandom:  Added to build
Voltage Control: initial voltage control for MSM S4-Pro SOC

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

Conflicts:
	arch/arm/mach-msm/Kconfig

Conflicts:

	arch/arm/mach-msm/Kconfig
Squashed intelli_plug: intelligent hotplug cpu driver + voltage tweaks

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

Conflicts:
	arch/arm/mach-msm/Kconfig
	arch/arm/mach-msm/Makefile

intelli_plug: tweak for faster wakeup from suspend

bump version to 1.1

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

intelli_plug: increase cores on persistence

also replace hardcoded values with Macros for ease of updating later

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

intelli_plug: make it gcc-4.6.x eabi compatible :p

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

intelli_plug: use rq_stats to help detect artificial or constant loads

benchmarks often create fake / artificial loads at a constant rate.  These
type of loads are not detected corectly by run average algorithms. Use
the run queue stats to help detect these cases and bring up the cores in
correspondence.

bump version to 1.2

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

intelli_plug: use mp_decision() algorithm for core 3 and 4

This replaces the simplistic check for run queue thresholds with a more
sophisticate algorithm with time awareness

bump version to 1.3

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

intelli_plug: tweak mp_decsion parameters and remove unused logic

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

intelli_plug: bump threshold slightly for better response

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

wip: intelli_plug: change logic for better benchmark performance

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

intelli_plug: use mp_decision to reduce online persistence count for cores

this should bring down the cores faster when run queue is low
also optimized code a bit using local vars

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

intelli_plug: disable by default

let the user enable via sysfs so it won't clash with mpdecision which is
enabled by default for qualcomm phones

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

intelli_plug: slow down hotplug activity from 50ms to 200ms

this will reduce the hotplug chaos which may in turn save more power

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

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

Voltage Control: allow for lower minimums

this allows the low CPU frequencies to take advantage of UV control

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

Conflicts:

	arch/arm/mach-msm/board-m7-regulator.c

intelli_plug: code clean up and minor bug fixes

bump to version 1.6

Signed-off-by: Paul Reioux <reioux@gmail.com>
Enable CPU Under-/Over-clocking (thanks to @faux123)
GPU Overclock: Initial Krait 600 ab GPU overclocking

add 360 MHz and 600 MHz options
make 360 MHz nominal case and 600 MHz turbo case

Signed-off-by: Paul Reioux <reioux@gmail.com>
Full sync for arch/arm/kernel/sched_clock.c with KK kernel Source.
Let's try Samsung's new thermal control
Remove a butt load of debug

Conflicts:
	drivers/slimbus/slimbus.c