arm/dts: msm8974: Add new frequency steps

* Based on fluxi's patch for addition of freq steps
* Modified to adapt compatibility for Chaos Kernel
* Freq steps up to 2.88 GHz
* However, enabled only up to 2.57 GHz to ensure stability
* Added steps to vdd restriction for newly added OC steps (needs to be tested)

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: clock-krait-8974: Add user voltage control

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
ARM: dts: msm: List all possible BW levels in cpubw for 8974

With the cpubw_hwmon devfreq governor available in Krait based CPUs, it's
important to list all the possible BW levels to get all the benefit from
the cpubw_hwmon governor. Also fix the use of a non-existent BW level in
msm-cpufreq device.

Signed-off-by: Panwar Vivek <vpanwa@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
PM / devfreq: Add a new target flag for the performance governor

The new flag for the devfreq profile->target() function is used
by the performance governor to notify the driver that the device
should wakeup on the max frequency.

Signed-off-by: Vladimir Razgulin <vrazguli@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
net/wireless: Fix kernel crash while doing iwlist scan

Remove the code that extracts the information of the rates without
the check for the corresponding bands. Also , this part of the code
is redundant as the following code checks for the same, which also
prevents a possible crash.

Signed-off-by: Ming-yi Lin <mylin@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: kgsl: Fix range checking for profile wrapping

There is a chance that the profile code will not wrap correctly.
This can cause the in stream profiling to cause buffer pre-run
or undershoot (accessing data before the buffer). Fix logic to
cause the correct wrapping.

Signed-off-by: Carter Cooper <ccooper@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
msm: kgsl: Don't open kgsl device in erroneous case

If kgsl_get_process_private() returns NULL, it goes to
err_stop with result = -ENOMEM. If open_count is 0,
adreno_stop() overwrites the result variable with 0.
This leads to kgsl_open() to be successful while it
shouldn't.

Signed-off-by: Prabhat Awasthi <pawasthi@codeaurora.org>
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>