summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorVeera Sundaram Sankaran <veeras@codeaurora.org>2015-05-29 15:41:04 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:42:31 -0700
commitec20c566ee2ed4f0f92ebbf46dd3f447a5aa29c8 (patch)
tree96eb3457bd0660f435f7ac73e7e6dec0a1faf847 /drivers/video/fbdev
parent0fa00f3046cd0f029ccc367a618e30912a307aa9 (diff)
msm: mdss: fix wait idle case for few ioctls
Ioctls which modifies the commit data structures needs to wait for kickoff before it is handled. The cursor and set/get metadata ioctls were made to wait on pan idle, which makes it impossible to get through when there are lot of panel updates. Move these ioctls to wait for kickoff as these not necessarily needs the panel to be idle. Change-Id: I417a88b434fcc8abd43654f3856bc7ca3639a50c Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_fb.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/video/fbdev/msm/mdss_fb.c b/drivers/video/fbdev/msm/mdss_fb.c
index cf0f319e7eaf..dca29923119b 100644
--- a/drivers/video/fbdev/msm/mdss_fb.c
+++ b/drivers/video/fbdev/msm/mdss_fb.c
@@ -3986,18 +3986,13 @@ static int __ioctl_wait_idle(struct msm_fb_data_type *mfd, u32 cmd)
((cmd == MSMFB_OVERLAY_PREPARE) ||
(cmd == MSMFB_BUFFER_SYNC) ||
(cmd == MSMFB_OVERLAY_PLAY) ||
+ (cmd == MSMFB_CURSOR) ||
+ (cmd == MSMFB_METADATA_GET) ||
+ (cmd == MSMFB_METADATA_SET) ||
+ (cmd == MSMFB_OVERLAY_GET) ||
(cmd == MSMFB_OVERLAY_UNSET) ||
(cmd == MSMFB_OVERLAY_SET))) {
ret = mdss_fb_wait_for_kickoff(mfd);
- } else if ((cmd != MSMFB_VSYNC_CTRL) &&
- (cmd != MSMFB_OVERLAY_VSYNC_CTRL) &&
- (cmd != MSMFB_ASYNC_BLIT) &&
- (cmd != MSMFB_BLIT) &&
- (cmd != MSMFB_DISPLAY_COMMIT) &&
- (cmd != MSMFB_NOTIFY_UPDATE) &&
- (cmd != MSMFB_ATOMIC_COMMIT) &&
- (cmd != MSMFB_OVERLAY_PREPARE)) {
- ret = mdss_fb_pan_idle(mfd);
}
if (ret && (ret != -ESHUTDOWN))