cpufreq: Always allow update of user policy

In the cases where the system boots up in a constraint with policy min and
max lower than cpuinfo min/max, and user tries to set a higher user
policy min, the value would be overridden during the verifying the
limits.

Once user initiates the sysfs write the previous user policy is
maintained in policy min and max thus changing the limits for verification
of the current policy. Once the verification is completed restore the
current user policy min/max with the updated values if any. This would take
care of cases uwhere user policy min/max input is higher/lesser than the
current min and max.

Change-Id: I5ad92ba05162cb5c32c3ba3fdae21d2e505493d3
Signed-off-by: Taniya Das <tdas@codeaurora.org>
msm: mdss: double check mdp ping pong done state

There are cases where the irq trigger may get delayed for more than
expected, in such cases the ping pong done status may have been updated
by MDP hw. Add additional check to see if this has been triggered even
though interrupt wasn't scheduled for pingpong done.

Change-Id: I4730d166d95f238f4525eab2b5c99be40b30699b
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
msm: pm: Increase cpu collapse timeout

20ms is still not enough, try 30ms.

<4>[  670.307705] ------------[ cut here ]------------
<4>[  670.308133] WARNING: at arch/arm/mach-msm/msm-pm.c:792 msm_pm_wait_cpu_shutdown+0x9c/0xb0()
<4>[  670.308351] CPU2 didn't collapse in 2 ms
<4>[  670.308839] [<c010dfb8>] (unwind_backtrace+0x0/0x144) from [<c0a26304>] (dump_stack+0x20/0x24)
<4>[  670.310590] [<c0a26304>] (dump_stack+0x20/0x24) from [<c019b610>] (warn_slowpath_common+0x58/0x70)
<4>[  670.311848] [<c019b610>] (warn_slowpath_common+0x58/0x70) from [<c019b6a4>] (warn_slowpath_fmt+0x40/0x48)
<4>[  670.313030] [<c019b6a4>] (warn_slowpath_fmt+0x40/0x48) from [<c0179500>] (msm_pm_wait_cpu_shutdown+0x9c/0xb0)
<4>[  670.313580] [<c0179500>] (msm_pm_wait_cpu_shutdown+0x9c/0xb0) from [<c01260bc>] (platform_cpu_kill+0x38/0x48)
<4>[  670.320147] [<c01260bc>] (platform_cpu_kill+0x38/0x48) from [<c010c5a8>] (__cpu_die+0x4c/0x98)
<4>[  670.320767] [<c010c5a8>] (__cpu_die+0x4c/0x98) from [<c09fb544>] (_cpu_down+0xf8/0x2e0)
<4>[  670.321029] [<c09fb544>] (_cpu_down+0xf8/0x2e0) from [<c09fb7d0>] (cpu_down+0x34/0x50)
<4>[  670.321452] [<c09fb7d0>] (cpu_down+0x34/0x50) from [<c01943c4>] (cpu_down_work+0x120/0x154)
<4>[  670.321924] [<c01943c4>] (cpu_down_work+0x120/0x154) from [<c01b59a4>] (process_one_work+0x178/0x4f4)
<4>[  670.322385] [<c01b59a4>] (process_one_work+0x178/0x4f4) from [<c01b60a0>] (worker_thread+0x174/0x448)
<4>[  670.322795] [<c01b60a0>] (worker_thread+0x174/0x448) from [<c01bc454>] (kthread+0xb4/0xc0)
<4>[  670.323049] [<c01bc454>] (kthread+0xb4/0xc0) from [<c0108060>] (kernel_thread_exit+0x0/0x8)
<4>[  670.323699] ---[ end trace 26c4346f4c26704b ]---