disp: msm: sde: handle LTM switch in and out of dual pipe merge mode
When LTM is switching on/off, merge_mode bit value gets toggled between 0x1 (dual pipe merge configuration) and 0x0 (single pipe configuration). It is illegal to reconfigure LTM to/from dual-pipe merge mode before both LTM instances have completed their current workloads. This change adds support to disable merge_mode one frame after histogram is disabled to make sure both hardware instances are completely idle and avoid corrupted histogram data collection. Change-Id: I9a6b5cbfb69e8af7936749e57fe7c8f7c2703b95 Signed-off-by: Ping Li <pingli@codeaurora.org>
This commit is contained in:
@@ -247,6 +247,7 @@ static void dspp_ltm(struct sde_hw_dspp *c)
|
||||
c->ops.setup_ltm_hist_buffer =
|
||||
sde_setup_dspp_ltm_hist_bufferv1;
|
||||
c->ops.ltm_read_intr_status = sde_ltm_read_intr_status;
|
||||
c->ops.clear_ltm_merge_mode = sde_ltm_clear_merge_mode;
|
||||
} else {
|
||||
c->ops.setup_ltm_init = NULL;
|
||||
c->ops.setup_ltm_roi = NULL;
|
||||
@@ -255,6 +256,7 @@ static void dspp_ltm(struct sde_hw_dspp *c)
|
||||
c->ops.setup_ltm_hist_ctrl = NULL;
|
||||
c->ops.setup_ltm_hist_buffer = NULL;
|
||||
c->ops.ltm_read_intr_status = NULL;
|
||||
c->ops.clear_ltm_merge_mode = NULL;
|
||||
}
|
||||
if (!ret && c->cap->sblk->ltm.version ==
|
||||
SDE_COLOR_PROCESS_VER(0x1, 0x1))
|
||||
|
Reference in New Issue
Block a user