From 6f945e5654c33570d511f9a0f5556f89cdda0474 Mon Sep 17 00:00:00 2001 From: Ping Li Date: Wed, 10 Dec 2014 12:58:29 -0800 Subject: [PATCH] msm: mdss: Fix gamma correction config for disable cases Previously, gamma correction dirty bit is not properly set for all the use cases, which is causing the disable ioctl for gamma correction to fail. This change fixes the issue in disable ioctl. Change-Id: I4901c05d305577857862f6b5316fa59ececcc842 Signed-off-by: Ping Li --- drivers/video/fbdev/msm/mdss_mdp_pp.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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);