diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c index bab9235cd1a6..f1b5abfee216 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pp.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c @@ -3205,17 +3205,11 @@ int mdss_mdp_argc_config(struct mdp_pgc_lut_data *config, argc_addr = mdss_mdp_get_mixer_addr_off(dspp_num) + MDSS_MDP_REG_LM_GC_LUT_BASE; pgc_ptr = &mdss_pp_res->argc_disp_cfg[disp_num]; - if (config->flags & MDP_PP_OPS_WRITE) - mdss_pp_res->pp_disp_flags[disp_num] |= - PP_FLAGS_DIRTY_ARGC; break; case MDSS_PP_DSPP_CFG: argc_addr = mdss_mdp_get_dspp_addr_off(dspp_num) + MDSS_MDP_REG_DSPP_GC_BASE; pgc_ptr = &mdss_pp_res->pgc_disp_cfg[disp_num]; - if (config->flags & MDP_PP_OPS_WRITE) - mdss_pp_res->pp_disp_flags[disp_num] |= - PP_FLAGS_DIRTY_PGC; break; default: goto argc_config_exit; @@ -3343,6 +3337,12 @@ clock_off: &mdss_pp_res->gc_lut_g[disp_num][0]; pgc_ptr->b_data = &mdss_pp_res->gc_lut_b[disp_num][0]; + if (PP_LOCAT(config->block) == MDSS_PP_LM_CFG) + mdss_pp_res->pp_disp_flags[disp_num] |= + PP_FLAGS_DIRTY_ARGC; + else if (PP_LOCAT(config->block) == MDSS_PP_DSPP_CFG) + mdss_pp_res->pp_disp_flags[disp_num] |= + PP_FLAGS_DIRTY_PGC; } argc_config_exit: mutex_unlock(&mdss_pp_mutex);