-
- Downloads
msm: mdss: Synchronize pipe allocation and cleanup between framebuffers
There is synchronization issue between UNSET called on a pipe on one
particular framebuffer and SET for same pipe on another framebuffer.
Currently, wait till kickoff is done during set, this lock is released
only when cleanup is completed in commit cycle and then only next
set/prepare is invoked. This wait is associated with a particular mfd,
but if unset and set consecutively happens on seperate mfd's, then pipe
allocation failure can happen. To fix this during pipe allocation,
check following:
-Check for active control paths.
-Loop through destroy and cleanup list of pipes
-Check for same pipe type.
-Wait till cleanup is done and try again for pipe allocation.
bug: 28432540
Change-Id: I32594cbffcd9fcb07bac26a53119c34020537991
Signed-off-by:
Jayant Shekhar <jshekhar@codeaurora.org>
Showing
- drivers/video/msm/mdss/mdss_mdp.h 5 additions, 0 deletionsdrivers/video/msm/mdss/mdss_mdp.h
- drivers/video/msm/mdss/mdss_mdp_overlay.c 103 additions, 25 deletionsdrivers/video/msm/mdss/mdss_mdp_overlay.c
- drivers/video/msm/mdss/mdss_mdp_pipe.c 44 additions, 25 deletionsdrivers/video/msm/mdss/mdss_mdp_pipe.c
Loading
Please register or sign in to comment