Call cpufreq_update_policy on DVFS events.

Calls cpufreq_update_policy on DVFS lock/unlock events to ensure that DVFS
locks take effect with the governor's preferred frequency (if higher than
the lock frequency).  Previously the lock would set the frequency to the
target level and expect the governor to reevaluate on a timer, which
ondemand does, but powersave and performance do not.

Change-Id: I19a454d7173afdb99d0a87845285f84606cf24e1
config: enable zram and swap

Change-Id: I83264d79eea4b93997552b1361f413fde68d652d
cpufreq: enable and update interactive governor

This is a squashed commit of the following:

cpufreq: interactive: add show_boost sysfs entry

Signed-off-by: jt1134 <jt1134@gmail.com>

cpufreq: interactive: take idle notifications only when active
Register an idle notifier only when the governor is active.  Also
short-circuit work of idle end if the governor is not enabled.

Signed-off-by: Sam Leffler <sleffler@chromium.org>

cpufreq: interactive: keep freezer happy when not current governor
Fix a problem where the hung task mechanism was deeming the interactive
clock boost thread as hung.  This was because the thread is created at
module init but never run/woken up until needed.  If the governor is not
being used this can be forever.  To workaround this explicitly wake up
the thread once all the necessary data structures are initialized.  The
latter required some minor code shuffle.

Signed-off-by: Sam Leffler <sleffler@chromium.org>

cpufreq: interactive: handle speed up and down in the realtime task
Not useful to have a separate, non-realtime workqueue for speed down
events, avoid priority inversion for speed up events.

Signed-off-by: Todd Poynor <toddpoynor@google.com>

cpufreq: interactive: remove input_boost handling
Now handled in userspace Power HAL instead.

Signed-off-by: Todd Poynor <toddpoynor@google.com>

cpufreq: fix interactive bug during hotplug
When a new cpu is added and if does not enter idle
for long, the interactive timer is not started and hence
the cpu remains at lowest frequecny, despite the system
load. This impacts mainly benchmarks. Starting a timer
at governor start to handle low frequency.

Signed-off-by: Narayanan Gopalakrishnan <nargop@codeaurora.org>

cpufreq: interactive: always limit initial speed bump to hispeed
First bump speed up to hispeed_freq whenever the current speed is below
hispeed_freq, instead of only when the current speed is the minimum speed.
The previous code made it too difficult to use hispeed_freq as a common
intermediate speed on systems that frequently run at speeds between
minimum and hispeed_freq.

Signed-off-by: Todd Poynor <toddpoynor@google.com>

cpufreq: interactive: run at fraction of hispeed_freq when load is low
When load is below go_hispeed_load, apply the percentage of CPU load to
a max frequency of hispeed_freq instead of the max speed.  This avoids
jumping too quickly to hispeed_freq when it is a relatively low
percentage of max speed.  This also allows go_hispeed_load to be set to
a high percentage relative to hispeed_freq (as a percentage of max speed,
again useful when hispeed_freq is a low fraction of max speed), to cap
larger loads at hispeed_freq.  For example, a load of 60% will typically
move to 60% of hispeed_freq, not 60% of max speed.  This causes the
governor to apply two different speed caps, depending on whether load is
below or above go_hispeed_load.

Also fix the type of hispeed_freq, which was u64, to match other
speed data types (and avoid overhead and allow division).

Signed-off-by: Todd Poynor <toddpoynor@google.com>

cpufreq: interactive: add boostpulse duration
This makes up for the portions missing that would've been written
by Narayanan Gopalakrishnan but they were missing (duration, and boost
time) and also adds the ability to set duration (which was originally
created by cyanogen)

Signed-off-by: Narayanan Gopalakrishnan <nargop@codeaurora.org>

Change-Id: Iba70ed3580dd04704b0d7b4acde178df7a843b5f
enable 1.2GHz OC

* keep same voltage settings as 1GHz
* properly update APLL values
* set max freq to 1GHz on bootup, up to the user to OC

Change-Id: I643cb1b54dd684b9dbe6066fbdef1a86b9123d79
cpufreq: boostfreq: do not set to current value

dbs_tuners_ins.boostfreq should not be set upon boosting, as it
will fix the boostfreq to the current max value, despite the
fact that it can change later (via cpufreq reconfiguration)

Change-Id: I12741ff367b37d6161e06f3d5de21807c5415a9d
Add ability to under- and overvolt.

Patch set 1: original commit
Patch set 2: removed spaces
Patch set 3: increased stock voltage at 1200MHz to 1325mV
Patch set 4: changed UV interface to allow OV with Voltage Control
Patch set 5: spacing
Patch set 6: rebased
Patch set 7: allow higher OV voltage

Change-Id: Ie5f5d8ca7ed64e63b9be0aa088b99c1b8466b605
s5pc110: Improved OC code

- Set arm_volt_max back to 1350000 as some users are reporting
  SoD without any OC
- Set arm_volt for 1.2 GHz to 1275000 for now, because higher
  values cause SoD for all devices while this works on most
  devices.

(this basically revert values to what they previously were)

Change-Id: Ic01f606a5fc5145ce9d8e8f6961a80262503e0d6
Merge branch 'jellybean' of git://github.com/CyanogenMod/android_kernel_samsung_aries into myjb