diff options
| author | Veera Sundaram Sankaran <veeras@codeaurora.org> | 2015-05-29 15:41:04 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:42:31 -0700 |
| commit | ec20c566ee2ed4f0f92ebbf46dd3f447a5aa29c8 (patch) | |
| tree | 96eb3457bd0660f435f7ac73e7e6dec0a1faf847 /drivers/video/fbdev | |
| parent | 0fa00f3046cd0f029ccc367a618e30912a307aa9 (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.c | 13 |
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)) |
