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.
Change-Id: I32594cbffcd9fcb07bac26a53119c34020537991
Signed-off-by:
Jayant Shekhar <jshekhar@codeaurora.org>
Loading
Please register or sign in to comment