msm_fb: Avoid backlight scaling during resume until backlight is set

Currently, if we try to perform backlight scaling before we set the
backlight on the target during resume, display doesn't come up
due to backlight level zero set on target. Hence, avoid backlight
scaling until backlight is set on the target during resume.

(cherry picked from commit 54a18e8ccb851947ccc828b7b16a1c1e89ce395b)

Change-Id: I8d6f15b92571e8cc1f1e55a857bb3364fae761ef
CRs-fixed: 437550
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm_fb: Release semaphore when display Unblank fails

When continuous splash is enabled, the display subsystem will be
turned on during first pan display after boot up. During this
process, we acquire a semaphore. Release the semaphore if display
init fails and the function has to return early.

CRs-fixed: 441973
Change-Id: I4c8ba0b5e7710a6f3d409be619d5014b3ee32e5b
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
msm: display: fb blend setting via MSMFB_METADATA_SET ioctl

MSMFB_METADATA_SET ioctl is added for the fb user to pass
in additional infomation rather than using reserved
fields.
User can set pre-multiplied alpha for the frame buffer via this
ioctl, overlay blend setting will take this into account.

Change-Id: Ic2f6236d84691fb03174ec479874c6928489ea30
Signed-off-by: Ken Zhang <kenz@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

Change-Id: I18b05b8d2a65d489afc6e3274ec8dc7a5b9a5f9a
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>