msm_fb: display: fix the underrun issue when playing interlaced videos

Interlaced videos require higher mdp clk rate and the current code
sets mdp clk to max and return. However mdp clk calculation may still
give a result higher than max mdp clk, for this case the result is
kept and used later to enable blt mode to avoid underrun.

Change-Id: I185d0d15e5b79e94561e790e41713cdb405f8bf4
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
msm_fb: Keep LCDC timing generator enabled during boot up

Keep the LCDC timing generator enabled during boot up on
MDP 3.03 targets if continuous splash screen feature is enabled.

Change-Id: I64276550f28e1f316c420f9cb158f7b8e938b8ea
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm_fb: display: add mdp clk rate calculation for low vbp

For the panels that have low v_back_porch, if h/w FIR scaling is used,
during vbp time, mdp clk should be fast enough to output a line from 4
input lines. MDP rate equation for very small scaling, e.g. 1 or 2
pixels' upscaling or downscaling cannot cover this case, where
underruns are seen on those panels.

Change-Id: I4f35f98c2c1bc4ef04dfee193427bd3ff674945d
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
msm_fb: display: Fix blend configuration for MDP4.1

MDP4.1 blend operation registers are not double buffered and
take effect as soon as they are configured. Configuring these
registers at any place other than between dma and vsync produce
flickers as new blend values would get applied to previous
mixer configurations. Configure blend operation registers just
after dma is over, before vsync.

Change-Id: I377c11222f7a0cd77e98e90edec6e2e1dc0c17ca
Signed-off-by: Pradeep Jilagam <pjilagam@codeaurora.org>
msm: Remove idle stats and cpuidle hooks

Calling RCU functions from within the RCU quiescent state is
illegal and probably a bug. The idlestats code uses an atomic
notifier called from msm_cpuidle_enter() and that atomic notifier
takes an rcu read lock. We could fix this with a raw notifier,
but this code is unused so let's just remove the code entirely.

Change-Id: I319f0eabb56a8721c19a3b2b4bc9a7f416c88384
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
msm: cpuidle: Don't disable irqs again

cpu_idle() disables irqs before calling down into the cpuidle
driver via cpuidle_idle_call(). Disabling irqs again in
msm_cpuidle_enter() is wasteful and unnecessary. It also inhibits
our ability to determine the largest irq latency when the cpu
idles for extended periods of time because the irqsoff trace is
reenabled when the irqs are disabled in msm_cpuidle_enter().

Note that we still reenable irqs before returning, as is required
by the ARM idle loop.

Change-Id: I925478d8fef88ab490959622bc68303f59cc6e79
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
video: msm: Remove useless and potentially unsafe debug code

Change-Id: I73ad4966b4b8cc0e2c81aa1ff32a22fc0d923103
Samsung T989 changes from update1
msm: audio: ion: Add ION declarations.

Audio drivers to use these common ION declarations.

Change-Id: Ifafce344be3e13740624334658e6bdd640833895
Signed-off-by: Sidipotu Ashok <sashok@codeaurora.org>

Conflicts:

	include/linux/msm_audio.h
msm_fb: display: Configure blend after DMA for DSI video

Change-Id: Ic7a81397f9d03a7d6baabdbf57d424ecd4377f26
cpufreq: Add cpu utilization statistics to aid decisions made by user

…space.

Understanding system load as seen by cpufreq can help userspace
algorithms make better decisions to improve system responsiveness.
One such example would be the MP decision algorithm which mines
various system info to make decisions on hot plugging in/out
the additional cores.

CRs-fixed: 344675
Signed-off-by: Anitha Anand <anithas@codeaurora.org>
(cherry picked from commit cbeef6a)

Change-Id: I7b4450ed7b3bf8196870717e1907fd93c5cfbe98
Signed-off-by: Ramakrishna Prasad N <crpn@codeaurora.org>

Conflicts:

	drivers/cpufreq/cpufreq_badass.c
	drivers/cpufreq/cpufreq_ondemand.c
Merge branch 'jellybean' of https://github.com/CyanogenMod/android_kernel_samsung_msm8660-common