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

Commit a3cf64d7 authored by Krishna Chaitanya Parimi's avatar Krishna Chaitanya Parimi
Browse files

msm: mdss: Correct ARGC read write for all DSPP



Currently ARGC read write is done for DSPP0 irrespective of
dspp_num, as the dspp_num corresponding to the block provided
is not calculated.

Added the calculation of the dspp_num to get correct address
of ARGC registers.

Change-Id: Id787e76debb26d23d75d3cdb859a697b6f0016f5
Signed-off-by: default avatarKrishna Chaitanya Parimi <cparimi@codeaurora.org>
parent 738ee921
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -2662,6 +2662,12 @@ int mdss_mdp_argc_config(struct mdp_pgc_lut_data *config,
	mutex_lock(&mdss_pp_mutex);

	disp_num = PP_BLOCK(config->block) - MDP_LOGICAL_BLOCK_DISP_0;
	ret = pp_get_dspp_num(disp_num, &dspp_num);
	if (ret) {
		pr_err("%s, no dspp connects to disp %d", __func__, disp_num);
		goto argc_config_exit;
	}

	switch (PP_LOCAT(config->block)) {
	case MDSS_PP_LM_CFG:
		argc_addr = mdss_mdp_get_mixer_addr_off(dspp_num) +
@@ -2687,12 +2693,6 @@ int mdss_mdp_argc_config(struct mdp_pgc_lut_data *config,
	tbl_size = GC_LUT_SEGMENTS * sizeof(struct mdp_ar_gc_lut_data);

	if (config->flags & MDP_PP_OPS_READ) {
		ret = pp_get_dspp_num(disp_num, &dspp_num);
		if (ret) {
			pr_err("%s, no dspp connects to disp %d",
				__func__, disp_num);
			goto argc_config_exit;
		}
		mdss_mdp_clk_ctrl(MDP_BLOCK_POWER_ON, false);
		local_cfg = *config;
		local_cfg.r_data =