msm: display: Add Data lane swap setting to DSI platform data

Add Data lane swap setting to DSI platform data required for
8930 DSI Novatek driver to distinguish from other targets which
do not require swap control

Change-Id: I613e5207ef8a2c150d9f75a4f34dbec1fb3b4261
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Read DSI platform's data lane swap for Novatek panel

Read DSI platform's data lane swap setting for Novatek panel and
set it in panel info for programming internal lane control
register

Change-Id: I762ed4a526e205803ff64c8eb92ce7758ab1d946
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Featurize pm operations for external display

Featurize suspend/resume operation of the external display
to resolve compilation error in cases where external display
features are not defined.

Change-Id: Ifae276f514b67314a22e50fd80237e2168482d3f
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: add mixer2 writeback userspace support

Apps, e.g. fbtest can access mixer2 writeback functionality in
userspace by providing ion writeback buffers.

Change-Id: Ia56ac5275854231f1f28066f78db6dda97bb7b85
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Add mutex during display turn off

There is a possibility that suspend operation trigger during
a display update. Add mutex to serialize suspend and display update
operations

Change-Id: I52dea1bd718e8c54d894ae3830e86105f951efab
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Initialize work queue for MIPI command mode panels

Initialize workqueue for MIPI command mode panels for s/w refresher
mechanism to work in x-window type architectures.

Change-Id: Id67c54452aa0b02a39f480709fc4bcd6c7bde2eb
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb:display: add display support for mdm platform

add setting for no mdp hw case
add ebi2 epson qvga panel setting

Change-Id: I91b9ef1890a66eb95c14f8a393b89baa757904a5
Signed-off-by: Zhang Chang Ken <kenz@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: remove #if 0

Cleanup all #if 0s in display driver.

Change-Id: I32473b33ad4dff3e5d3d91aae42d70955836cd52
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:

	drivers/video/msm/mdp.c
msm_fb: display: Epson ebi2 panel support

Support fb with ebi2 only(without mdp)
Add Epson ebi2 qvga panel support

Change-Id: If61b2c522a102133f98f27b21dcc18d057b7ef25
Signed-off-by: Zhang Chang Ken <kenz@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:

	drivers/video/msm/Makefile
msm_fb: display: Create hdmi_as_primary node for boot parameter case

Create hdmi_as_primary node for both boot parameter and compile-time
cases when HDMI is set as primary display

Change-Id: Ib170637e3792477e46ae0fb6044b298bf8de875c
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: MSM V4l2 video overlay driver

Provides a V4L2 device that uses the MDP overlay pipes (on MDP4),
or the PPP interface (MDP3) to overlay frames on top of display
framebuffer.

Signed-off-by: Alhad Purnapatre <alhadp@codeaurora.org>
Change-Id: Iab69d0a5acfe993d13cb7a585e292b9a87eb90ee
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm: display: Add device pointer with clk_get for retrieving clocks

clk_get requires device pointer to return appropriate clocks
for display subsystem. Rename the names of display related clocks
in the lookup table based on functionality.

CRs-Fixed: 336925
Change-Id: I784bc4e650d779d1422a9ff1b9a75e36d669e551
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:

	drivers/video/msm/msm_dss_io_8960.c
msm_fb: display: Enable 32bpp framebuffer format.

Enable 32bpp framebuffer format for 7x27a and 8x25.

Change-Id: I38deabca45ea849710bd2edb2b6847c5309a0c9e
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Allocate writeback buffers of panel resolution sizes

Allocate MDP writeback buffers based on panel resolution size
dynamically

Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Change-Id: I4a456199a05850f35c204edfa7ae3679036138a9
msm_fb: display: add mixer1 writeback buf init call

mdp4_init_writeback_buf call is missing for mixer1 interface. And
blt_addr should be nulled when dtv interface is initialized,
otherwise, mixer1 writeback mode may be false enabled which causes
system crashes or garbage display on TV.

Change-Id: Idbf5fe90eb50f0a68b434f2c76012c64a38553a4
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: Add clk prepare changes to MDP and rotator

Use clk_prepare_enable and clk_disable_unprepare instead of
clk_enable and clk_disable respectively.

CRs-Fixed: 351340
Change-Id: Ifb2a9405b8f445a90277d2fade9ab33f5becbd6e
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:

	drivers/char/msm_rotator.c
	drivers/video/msm/hdmi_msm.c
	drivers/video/msm/mdp4_dtv.c
msm_fb: display: Update clock prepare changes for MIPI DSI

Update the clock prepare/unprepare changes for MIPI DSI clocks
and update the clock lookup table for ebi_lcdc_clk for MIPI DSI
interface.

Change-Id: Ic31e2e1b169894e633849573eb54325457080b53
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm: display: Clean DSI state on continuous splash disabled cases

Reset the DSI clock control, disable controller and PLL
to resolve boot issues for DSI command mode for continuous
splash feature disabled/unspported cases

Change-Id: I1e5e9a9d2d548c518d2620bf6d9e125d5efc8fd4
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:

	arch/arm/mach-msm/board-8960-display.c
msm_fb: display: Fix color swap issues in MDP4 and Rotator drivers

Many of MDP input formats don't have correct unpack pattern, so image
displayed on screen is not in the actual format set. Also,Some rotator
output formats differ from input, these mappings used to be handled in
userspace, but to avoid issues this is now done in driver. For YCrCb planar
inputs chrominance order is dependent on rotator hardware version. Add
hardware check to swap Cb and Cr for 7x30 and 8x60 rotators.

CRs-fixed: 339114
CRs-fixed: 337040
Change-Id: I55691aa7c9d38e83e4fc63a162ffb23959ba30c1
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
msm_fb: display: remove mdp writeback2 overlay kickoff waiting

Before overlay2 kickoff, there is already a dma busy waiting, so once
overlay is kicked off, mdp driver can safely return to userspace. Then
if there is another request while ovlay2 is still busy, dma busy can
take care of it.

Change-Id: Ibb45a8b306a393c8e240fc64b5857e8700afcaba
Signed-off-by: Huaibin Yang <huaibiny@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:

	drivers/video/msm/mdp4_overlay_writeback.c