summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVeera Sundaram Sankaran <veeras@codeaurora.org>2016-11-16 16:46:39 -0800
committerVeera Sundaram Sankaran <veeras@codeaurora.org>2016-11-21 17:52:01 -0800
commit65a7fa4b0bbc8aa424fe4cd3df44585ed4070662 (patch)
tree7e934866af2d4279040fa672eb207b48e9a3777a
parente95375540c79e0d0b48953141559fec4b6bcbf96 (diff)
msm: mdss: add missing sync fence install for CWB cases
Add the missing sync fence install call after creating the fences, during Concurrent Writeback(CWB) cases. Change-Id: Id995088bfc53995c5d9453e7cee30ff549e8d39f Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_layer.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_layer.c b/drivers/video/fbdev/msm/mdss_mdp_layer.c
index 20fcc26bb4bf..01fa57eb02ba 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_layer.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_layer.c
@@ -2656,13 +2656,22 @@ int mdss_mdp_layer_pre_commit(struct msm_fb_data_type *mfd,
if (mdp5_data->cwb.valid) {
struct sync_fence *retire_fence = NULL;
+ if (!commit->output_layer) {
+ pr_err("cwb request without setting output layer\n");
+ goto map_err;
+ }
+
retire_fence = __create_fence(mfd,
&mdp5_data->cwb.cwb_sync_pt_data,
MDSS_MDP_CWB_RETIRE_FENCE,
&commit->output_layer->buffer.fence, 0);
if (IS_ERR_OR_NULL(retire_fence)) {
pr_err("failed to handle cwb fence");
+ goto map_err;
}
+
+ sync_fence_install(retire_fence,
+ commit->output_layer->buffer.fence);
}
map_err: