Merge "msm: mdss: Optimize Gamut Mapping programming sequence"

This commit is contained in:
Linux Build Service Account 2016-12-19 17:04:57 -08:00 committed by Gerrit - the friendly Code Review server
commit d12c191415

View file

@ -833,6 +833,8 @@ static int pp_gamut_set_config(char __iomem *base_addr,
struct mdp_gamut_cfg_data *gamut_cfg_data = NULL;
struct mdp_gamut_data_v1_7 *gamut_data = NULL;
char __iomem *base_addr_scale = base_addr;
uint64_t gamut_val;
if (!base_addr || !cfg_data || !pp_sts) {
pr_err("invalid params base_addr %pK cfg_data %pK pp_sts_type %pK\n",
base_addr, cfg_data, pp_sts);
@ -900,12 +902,18 @@ static int pp_gamut_set_config(char __iomem *base_addr,
val = index_start;
val |= GAMUT_TABLE_SELECT(i);
writel_relaxed(val, (base_addr + GAMUT_TABLE_INDEX));
for (j = 0; j < gamut_data->tbl_size[i]; j++) {
writel_relaxed(gamut_data->c1_c2_data[i][j],
base_addr + GAMUT_TABLE_LOWER_GB);
writel_relaxed(gamut_data->c0_data[i][j],
base_addr + GAMUT_TABLE_UPPER_R);
writel_relaxed(gamut_data->c1_c2_data[i][0],
base_addr + GAMUT_TABLE_LOWER_GB);
for (j = 0; j < gamut_data->tbl_size[i] - 1 ; j++) {
gamut_val = gamut_data->c1_c2_data[i][j + 1];
gamut_val = (gamut_val << 32) |
gamut_data->c0_data[i][j];
writeq_relaxed(gamut_val,
base_addr + GAMUT_TABLE_UPPER_R);
}
writel_relaxed(gamut_data->c0_data[i][j],
base_addr + GAMUT_TABLE_UPPER_R);
if ((i >= MDP_GAMUT_SCALE_OFF_TABLE_NUM) ||
(!gamut_data->map_en))
continue;