Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b5d0b21 authored by Gopikrishnaiah Anandan's avatar Gopikrishnaiah Anandan Committed by Gerrit - the friendly Code Review server
Browse files

msm: mdss: update the pp status flags for layermixer



Post Processing(PP) driver caches the status of the features enabled.
Information is used to turn on the PP features when device is resumed
from suspend state. Currently PP status information is not updated for
layer mixer path. Add support to track the layer mixer status
and prevent programming the DSPP blocks if dirty flag is not set.

Change-Id: If3bba46d3d2286385ba7fa1f0221356d436746ef
Signed-off-by: default avatarGopikrishnaiah Anandan <agopik@codeaurora.org>
parent c950223d
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -343,7 +343,7 @@ struct mdss_pp_res_type {
	struct mdp_gamut_cfg_data gamut_disp_cfg[MDSS_BLOCK_DISP_NUM];
	uint16_t gamut_tbl[MDSS_BLOCK_DISP_NUM][GAMUT_TOTAL_TABLE_SIZE];
	u32 hist_data[MDSS_BLOCK_DISP_NUM][HIST_V_SIZE];
	struct pp_sts_type pp_disp_sts[MDSS_BLOCK_DISP_NUM];
	struct pp_sts_type pp_disp_sts[MDSS_MAX_MIXER_DISP_NUM];
	/* physical info */
	struct pp_hist_col_info *dspp_hist;
};
@@ -1744,6 +1744,11 @@ static int pp_dspp_setup(u32 disp_num, struct mdss_mdp_mixer *mixer)

	pp_sts = &mdss_pp_res->pp_disp_sts[disp_num];

	if (!flags) {
		pr_debug("skip configuring dspp features\n");
		goto opmode_config;
	}

	if (mdata->mdp_rev >= MDSS_MDP_HW_REV_103) {
		pp_pa_v2_config(flags, base + MDSS_MDP_REG_DSPP_PA_BASE, pp_sts,
				&mdss_pp_res->pa_v2_disp_cfg[disp_num],
@@ -1792,7 +1797,7 @@ static int pp_dspp_setup(u32 disp_num, struct mdss_mdp_mixer *mixer)
			pp_sts->pgc_sts |= PP_STS_ENABLE;
		pp_sts_set_split_bits(&pp_sts->pgc_sts, pgc_config->flags);
	}

opmode_config:
	pp_dspp_opmode_config(ctl, dspp_num, pp_sts, mdata->mdp_rev, &opmode);

flush_exit: