msm: mdss: implement overlay prepare ioctl

Overlay prepare will allow a full frame with multiple overlays to be
configured at once and perform frame level checks before being pushed to
display. This function guarantees that if the call is successful, the
frame can be displayed successfully on the screen when display commit is
called.
msm: display: Add pipe type selection in overlay request

Allow user to specify the type when requesting an overlay pipe.
If field is set the pipe type indication in the flags will be
ignored.
Change-Id: Iee51d24b96c7a2a987dc70a439342e6548dfc8fa
Signed-off-by: Vineet Bajaj <vbajaj@codeaurora.org>
msm: Add 16 bit PCM as default format for  backend

Add 16 bit PCM as default format for backend. This sets
backend tx format to be 16 bit pcm in case of tunnel mode playback

CRs-Fixed: 593469
Change-Id: Ie686a8e7d2c496f67bbf2a29ba2640037f95e08f
Signed-off-by: Yeleswarapu, Nagaradhesh <nagaradh@codeaurora.org>
mdp: mdss: Tune bandwidth and clock based on ROI

Calculate bandwidth and MDP clock requirement considering
the ROI submitted for a frame. When doing partial frame update
for smart panels, the data actually fetched for a pipe is not
always the full resolution of the buffer programmed. Use the
ROI passed to find out the region of fetching and calculate the
bandwidth and clock values accordingly.

Change-Id: I01f24f8fd9a42a2c4d705b8eb0a7658e79884175
Signed-off-by: Jeykumar Sankaran <jsanka@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
msm: mdss: Add support for macro tile formats

MDP now supports tile formats on APQ8084. Macro tile formats
are aligned with number of memory banks and access channels to
improve performance.

Conflicts:

	Documentation/devicetree/bindings/fb/mdss-mdp.txt
	drivers/video/msm/mdss/mdss_mdp_pipe.c
	include/uapi/linux/msm_mdp.h

Change-Id: Ie566cc12b38f81d111f378f19883433bcc71fa48
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
Signed-off-by: Jayant Shekhar <jshekhar@codeaurora.org>
msm: mdp3: implement overlay prepare ioctl for mdp3 driver

Implement overlay prepare ioctl call for mdp3 display driver. This will
allow a full frame with multiple overlays to be configured at once and
perform frame level checks before being pushed to display. This function
guarantees that if the call is successful, the frame can be displayed
successfully on the screen when display commit is called.

Change-Id: I761f48f81512fbe538565c4622d9299857350da1
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
Re-Add a commit that LGE partially overwrote

msm: mdss: Avoid GPIO warnings during boot up
During continuous splash screen handoff, we see GPIO
warnings since we try to free the GPIOs without
requesting them before. This change takes care of avoiding
these warnings.

commit: 75f405b8809d6347e381a84f50314b9333f1ed87
ARM: dts: msm: Tune SMP block restriction for 8x26

To maximize availability of pipes for both 1080p and 1200p based
8x26 targets, reduce SMP block restriction from 4 to 3.

Change-Id: Ibb5a9d0016ea0d44b152d9c74d9f3a5cbd2acbd3
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
ARM: dts: msm: Increase VBP for jdi 1080p video mode panel

Currently the vertical back porch of this JDI panel is low
and causes performance related issues, hence increase the vbp of
this panel by making sure that no artifacts are observed on the
panel

Change-Id: I2f7ce4f720fbf4a4a951aa159d79f302f13aac51
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>
ARM: dts: Change the vertical back porch value for nt33590 panel

Currently the vertical back porch of this panel is very low,
and causes performance related issues,hence increase the vbp of
this panel properly with correct dsi panel sequence to accommodate
this vbp.

Change-Id: I4f0771fa4f827adca1f52b6e71cb968cc6602112
Signed-off-by: Anusha Koduru <kanusha@codeaurora.org>