msm: display: fb blend setting via MSMFB_METADATA_SET ioctl
msm_fb: display: add pipe commit ioctl
msm_fb: display: add option to switch mdp operating mode

Currently, mdp switch operating mode without turning off
timing generator. This patch adds option to have mdp switch
operating mode (direct out and writeback) with timing generator
turned off based on configuration of panel file.

(cherry picked from commit 6829d179d9ae8f3646a7a7204571ce15d35a997c)

Change-Id: I99fdcf79b0c86f8445ac552672b2ac5943efa861
CRs-fixed: 405987
Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
msm_fb: display: Create sysfs entries in mdp_probe for MDP4 targets

vsync sysfs entries should be created in mdp_probe instead of
creating in panel on. This avoids waiting for the first event
control in framework

Change-Id: I983731481ea89bb7666be5f2a9f75a1e04fd963f
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>

Conflicts:

	drivers/video/msm/mdp4_overlay_dsi_cmd.c
	drivers/video/msm/mdp4_overlay_dtv.c
	drivers/video/msm/msm_fb.h

Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
msm_fb: display: Make sysfs read request interruptible

Change blocking sysfs read request to be interruptible and protect
vsync timestamp value to prevent corruption.

(cherry picked from commit 0e53b6627814d52e3cf5604e0793f4780ec4a9c1)

Change-Id: I74fad19ce163f3511eb76b1018b0639175c1c6b1
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
msm_fb : Add timeout while waiting for vsync event

Avoid eternal wait for vsync event when client tries to
read the corresponding sysfs entry. This will avoid hangs when
client tries to read in corner cases where the Timing
Generator or the clock or IRQ gets disabled.

CRs-fixed: 406752
Change-Id: I773687220b868823a9e4bfdae74361ee6487c5c6
Signed-off-by: Pradeep Jilagam <pjilagam@codeaurora.org>
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>

Conflicts:

	drivers/video/msm/mdp4_overlay_dtv.c

Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
msm_fb: display: Send current timestamp in case of timeout

On timeout while waiting for the vsync, send the current
timestamp to the userspace. This resolves the infinite
wait seen during the bootup as SF will use this time stamp
reconfigure the vsync.

CRs-Fixed: 420244
Change-Id: I0d7b8750becfbb4e5c5e47b29ded6395627e8862
Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>
Signed-off-by: Ajay Singh Parmar <aparmar@codeaurora.org>
(cherry picked from commit 5e4ba471fa7b26de394c3836b309c20c4082c19a)

Signed-off-by: Ram Kumar Chakravarthy Chebathini <rcheba@codeaurora.org>
msm_fb: display: Timeout pan display if time greater than 100ms

Timeout if pan display is taking more than 100ms to complete. This
will unblock the userspace thread and continue. This will solve
the hang issues.

Change-Id: Ica6a395b0e992263567633d6dc93a92ee1fa59cf
(cherry picked from commit 7c270369ccb7eca4934d6005b1960ac7ec2ed2fc)

Conflicts:

	drivers/video/msm/mipi_dsi.c

Signed-off-by: Siddhartha Agrawal <agrawals@codeaurora.org>