Revert "cpufreq: interactive: Simplify frequency calculations"

This reverts commit dab8fc00db2dbef858e1f441444b8ddff32ea2fe.
cpufreq: cpuboost: Use hotplug infrastructure

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
cpufreq: cpu-boost: Fix cores getting stuck. Finally.

* In exclusive hotplug system, if a core is not taken down
  explicitly, it is observed that it gets stuck at input
  boost frequency.
* This fix resolves this issue completely.
* Root cause seems to be removal work is lost if queued on
  sibling cores. So simply fix this by queuing on boot CPU.

* Finally, I can use min_cpus_online > 1 for hotplug drivers
  without any issue.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
cpufreq: interactive: Allow go_hispeed to be disabled

Specify 0 for go_hispeed_load to disable it.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
cpufreq: interactive: Do not consider changed limits

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
cpufreq: interactive: Add target_loads_down freq selection

Using a single set of target loads causes an excessive number
of frequency changes.  Reduce by having a mode that allows
for separate load factos for "up" frequency selection and
"down" frequency selection.

If user-space specifies target_loads_down then the new
duel mode frequency selection will be used and frequencies
will be scaled up to meet the load requirements but they
will only be scaled down if the can be scaled down without
violating the down target loads.

If user-space does not store a value in target_loads_down
then this change makes no functional difference in the
governor.

neo: Cleanup hard coded values. These values need to come from
     userspace.

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: hotplug: Increase boosted CPUs by default

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>