msm_fb: display: Make sysfs read request interruptible

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

Change-Id: I370ced4f271e5f1d2c248bed06131c0623d7223f
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
Signed-off-by: Padmanabhan Komanduru <pkomandu@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>
Signed-off-by: Padmanabhan Komanduru <pkomandu@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: I3b6987555a2318f1bd36be253349611e051ca58d
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm_fb: display: Create sysfs entries in mdp_probe for MDP3 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

(cherry picked from commit 6db43b58111cfd39eaee0d694c223cbc7461d16c)

Change-Id: Icec525e02bb3c49ba82aa847246afc65fe4f587d
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>
msm-fb: Fix sysfs node creation in mdp_probe for MDP3 targets

-vsync_init null check not required for mdp3 target before
 creating sysfs node.
-Set vsync suspend and resume flags appropriately in mdp_on
 for mdp3.

CRs-Fixed: 393243
Change-Id: I3366df7385ca8e2ae15053c3e58332f8e32ce0cd
Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>