diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-03-15 05:43:03 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-03-15 05:43:03 -0700 |
| commit | 2a5717e16e706c32381730596abb49dc25f0c060 (patch) | |
| tree | 1dfeb5522cbc4b8452ebe73222f1efb3240d5618 /drivers/video/fbdev/msm | |
| parent | 2d31100a1f67d3987b1ec10d4c6c4895da229db6 (diff) | |
| parent | 72f550f73dae8432da38101e575f8e73011ac2b1 (diff) | |
Merge "msm: mdss: Clear pp dirty flags based on program stage"
Diffstat (limited to 'drivers/video/fbdev/msm')
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_pp.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c index ee338ba88c4d..5b9798e2c24e 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_pp.c +++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c @@ -453,6 +453,13 @@ static u32 igc_limited[IGC_LUT_ENTRIES] = { #define PP_FLAGS_DIRTY_SHARP 0x200 #define PP_FLAGS_DIRTY_PA_DITHER 0x400 +#define PP_EARLY_PROGRAM_DIRTY_MASK (PP_FLAGS_DIRTY_PCC | \ + PP_FLAGS_DIRTY_ENHIST | PP_FLAGS_DIRTY_HIST_COL) +#define PP_DEFERRED_PROGRAM_DIRTY_MASK (PP_FLAGS_DIRTY_IGC | \ + PP_FLAGS_DIRTY_PGC | PP_FLAGS_DIRTY_ARGC | \ + PP_FLAGS_DIRTY_GAMUT | PP_FLAGS_DIRTY_PA | \ + PP_FLAGS_DIRTY_DITHER | PP_FLAGS_DIRTY_PA_DITHER) + /* Leave space for future features */ #define PP_FLAGS_RESUME_COMMIT 0x10000000 @@ -2860,10 +2867,15 @@ int mdss_mdp_pp_setup_locked(struct mdss_mdp_ctl *ctl, } } + if (info->pp_program_mask & PP_NORMAL_PROGRAM_MASK) { + mdss_pp_res->pp_disp_flags[disp_num] &= + ~PP_EARLY_PROGRAM_DIRTY_MASK; + } if (info->pp_program_mask & PP_DEFER_PROGRAM_MASK) { /* clear dirty flag */ if (disp_num < MDSS_BLOCK_DISP_NUM) { - mdss_pp_res->pp_disp_flags[disp_num] = 0; + mdss_pp_res->pp_disp_flags[disp_num] &= + ~PP_DEFERRED_PROGRAM_DIRTY_MASK; if (disp_num < mdata->nad_cfgs) mdata->ad_cfgs[disp_num].reg_sts = 0; } |
