cpu-boost && cpufreq_limit

msm_cpu_freq_limit: initial coding for controlling MSM quadcore cpus

this module will allow proper max frequency control across all msm cores

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

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

msm_cpu_freq_limit: fixed coding copy and paste error :p

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

msm_cpufreq_limit: add GPL V2 licensing to access to GPL symbols

fix Makefile to force no memory relocation

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

Conflicts:
	Makefile

cpufreq_limit: remove unused vars

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

mach-msm:cpufreq_limit: fix merge derp and minor code clean up

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

cpufreq_limit: adapted for use as built-in kernel option

set default stock frequency and remove unnecessary debug messages

bump version to 1.2

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

cpufreq_limit: adapt for S4 Pro

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

cpufreq: limit initial speed to stock speeds

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

cpufreq: Add cpu-boost driver

When certain bursty and important events take place, it might take a while
for the current cpufreq governor to notice the new load and react to it.
That would result in poor user experience. To alleviate this, the cpu-boost
driver boosts the frequency of a CPU for a short duration to maintain good
user experience while the governor catches up.

Specifically, this commit deals with ensuring that when "important" tasks
migrate from a fast CPU to a slow CPU, the frequency of the slow CPU is
boosted to be at least as high as the fast CPU for a short duration.

Since this driver enforces the boost by hooking into standard cpufreq
ADJUST notifiers, it has several advantages:
- More portable across kernel versions where the cpufreq internals might
  have been rewritten.
- Governor agnostic and hence works with multiple governors like
  conservative, ondemand, interactive, etc.
- Does not affect the sampling period/logic of existing governors.
- Can have the boost period adjusted independent of governor sampling
  period.

Change-Id: Ibd814a20043d0aba64ee7637a4a79b9ffa1b0991
Signed-off-by: Saravana Kannan <skannan@codeaurora.org>

cpufreq: Add a sync limit to cpu-boost

Perform frequency synchronization only when source CPU's frequency
is less than sync_threshold, else sync to the sync_threshold.

Change-Id: I544c414568d4e015b80ce5891dd215275bac95da
Signed-off-by: Rohit Gupta <rohgup@codeaurora.org>