Merge "msm: mdss: Optimize Gamut Mapping programming sequence"
This commit is contained in:
commit
d12c191415
1 changed files with 13 additions and 5 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue