From 97f10bf14311eeef7cc9fbe0aec2a93fdf62b6c1 Mon Sep 17 00:00:00 2001 From: Jayaprakash Date: Wed, 16 Oct 2019 15:35:01 +0530 Subject: [PATCH] disp: msm: sde: update wr_ptr_success state post wait Update the wr_ptr_success state to avoid waiting for two frames pp_done_tx_irq. It ensures frame done callback is triggered, if IRQ's are disabled for long time by some external entity. Change-Id: I9ee72bd65dd7251bf8db0b6843fad02b675935bc Signed-off-by: Jayaprakash --- msm/sde/sde_encoder_phys_cmd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/msm/sde/sde_encoder_phys_cmd.c b/msm/sde/sde_encoder_phys_cmd.c index ba1c6ac844..3145452c05 100644 --- a/msm/sde/sde_encoder_phys_cmd.c +++ b/msm/sde/sde_encoder_phys_cmd.c @@ -1409,6 +1409,8 @@ static bool _sde_encoder_phys_cmd_needs_vsync_change( static int _sde_encoder_phys_cmd_wait_for_wr_ptr( struct sde_encoder_phys *phys_enc) { + struct sde_encoder_phys_cmd *cmd_enc = + to_sde_encoder_phys_cmd(phys_enc); struct sde_encoder_wait_info wait_info = {0}; int ret; bool frame_pending = true; @@ -1439,6 +1441,7 @@ static int _sde_encoder_phys_cmd_wait_for_wr_ptr( ret = frame_pending ? ret : 0; } + cmd_enc->wr_ptr_wait_success = (ret == 0) ? true : false; return ret; }