mirror of
https://github.com/team-infusion-developers/android_kernel_samsung_msm8976.git
synced 2024-11-01 10:33:27 +00:00
msm: mdss: exclude cursor from dirty pipe logic
Pipes are marked dirty when the userspace and kernel pipe management are out of sync and the kernel stabilizes itself with the next prepare call. The prepare call would not involve cursor pipes, as they are handled separately through the cursor ioctl. This leaves the cursor pipe to stay dirty and fails the following pre_commit. Fix to avoid setting cursor pipe as dirty. Change-Id: I7ba6347290e47cb04127da8ae82e41f0e9f5d65f Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
This commit is contained in:
parent
21164b2902
commit
ca164559a8
1 changed files with 6 additions and 1 deletions
|
@ -1129,6 +1129,9 @@ exit_fail:
|
|||
|
||||
/* invalidate any overlays in this framebuffer after failure */
|
||||
list_for_each_entry(pipe, &mdp5_data->pipes_used, list) {
|
||||
if (pipe->type == MDSS_MDP_PIPE_TYPE_CURSOR)
|
||||
continue;
|
||||
|
||||
pr_debug("freeing allocations for pipe %d\n", pipe->num);
|
||||
mdss_mdp_smp_unreserve(pipe);
|
||||
pipe->params_changed = 0;
|
||||
|
@ -1652,7 +1655,9 @@ static int __overlay_queue_pipes(struct msm_fb_data_type *mfd)
|
|||
pipe->num);
|
||||
mdss_mdp_mixer_pipe_unstage(pipe, pipe->mixer_left);
|
||||
mdss_mdp_mixer_pipe_unstage(pipe, pipe->mixer_right);
|
||||
pipe->dirty = true;
|
||||
|
||||
if (pipe->type != MDSS_MDP_PIPE_TYPE_CURSOR)
|
||||
pipe->dirty = true;
|
||||
|
||||
if (buf)
|
||||
__pipe_buf_mark_cleanup(mfd, buf);
|
||||
|
|
Loading…
Reference in a new issue