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>
Этот коммит содержится в:
Ping Li
2021-02-16 22:53:24 -08:00
родитель e12be40f65
Коммит 9dc60208de
8 изменённых файлов: 76 добавлений и 3 удалений

Просмотреть файл

@@ -210,6 +210,12 @@ struct sde_hw_dspp_ops {
*/
void (*ltm_read_intr_status)(struct sde_hw_dspp *ctx, u32 *status);
/**
* clear_ltm_merge_mode - clear LTM merge_mode bit
* @ctx: Pointer to dspp context
*/
void (*clear_ltm_merge_mode)(struct sde_hw_dspp *ctx);
/**
* validate_rc_mask - Validate RC mask configuration
* @ctx: Pointer to dspp context.