msm: clock-krait-8974: User voltage control for msm-cpufreq device
cpufreq: interactive: Revert timer start modification

commit f8b276565ce95bd788af0fc8d060f92632590a40
(cpufreq: Sync on thread migration optimizations)
introduced a change to cpufreq_interactive_timer_start() in order
to reschedule the timer differently based on whether min or max
is changed. A better way is to reschedule the timer only when
necessary.

Revert timer start modification in preparation for the final fix.

Change-Id: I13f3b75a6eee03ac6380c24db899806a9bfbc96a
Signed-off-by: Junjie Wu <junjiew@codeaurora.org>

[zwliew: add missing setting of max_freq after reschedule]
Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
cpufreq: interactive: Add limits_changed to boosted case
cpufreq: interactive: Honor changed minimum frequency

This saves a few cycles in the timer routine.

Change-Id: Id76e60ab6ef2abb20fb37ce0f6cefa7fca13215e
[zwliew: adapt 0c23ad997b240cac5eaafceb2112fe98f7621009]
Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
cpufreq: interactive: Use parts of native boost routine

Not all governors are created equal. Set boostpulse_endtime
and floor_freq to smoothen the timer routine.

Change-Id: I38bba7fc3f5535152dd4b091e7968c53dd5c622c
[zwliew: modify for unadulterated timer routine]
Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
cpufreq: interactive: Use frequency dependent per cpu timings

This allows in-depth testing of the timer routine.

Change-Id: I59023eb7e7758730ddc4b073087b46aa117e3a41
[zwliew: structural changes for unadulterated timer routine]
Signed-off-by: Zhao Wei Liew <zhaoweiliew@gmail.com>
cpufreq: interactive: Honor boosted state when entering idle

The old logic didn't take the boosted state in account. Just
leave the comment intact because our temporary min is not
the regular policy->min it refers to.
cpufreq: interactive: fix compiling warnings
cpufreq: interactive: Initialize spinlocks

These were missing in commit 8fbac318173082918312d6a4ceacf63376797c52,
"cpufreq: interactive: Use frequency dependent per cpu timings".
cpufreq: Introduce new relation for freq selection

Introduce CPUFREQ_RELATION_C for frequency selection.
It selects the frequency with the minimum euclidean distance
to target. In case of equal distance between 2 frequencies,
it will select the greater freq.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
cpufreq: interactive: use stratosk's method of calculating new freq

Change-Id: Ibadc149d9e16e8ea9a08384b9646c42516f6b493