msm: mdss: Fix 3D Mux when restoring from DSC on/off
If a resolution switch with DSC on/off is executed during suspend, it is possible that both 3D mux & DSC merge are enabled after restore. This change fixes it. Change-Id: I60cead6fea0023ea402f98f207d57099c2287be6 Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
This commit is contained in:
parent
314869eb56
commit
d64ba05ed6
1 changed files with 9 additions and 8 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -3614,6 +3614,7 @@ int mdss_mdp_ctl_setup(struct mdss_mdp_ctl *ctl)
|
|||
u32 width, height;
|
||||
int split_fb, rc = 0;
|
||||
u32 max_mixer_width;
|
||||
bool dsc_merge_enabled = 0;
|
||||
struct mdss_panel_info *pinfo;
|
||||
|
||||
if (!ctl || !ctl->panel_data) {
|
||||
|
@ -3738,15 +3739,15 @@ int mdss_mdp_ctl_setup(struct mdss_mdp_ctl *ctl)
|
|||
ctl->mixer_right = NULL;
|
||||
}
|
||||
|
||||
if (ctl->mixer_right) {
|
||||
if (!is_dsc_compression(pinfo) ||
|
||||
(pinfo->dsc_enc_total == 1))
|
||||
ctl->opmode |= MDSS_MDP_CTL_OP_PACK_3D_ENABLE |
|
||||
MDSS_MDP_CTL_OP_PACK_3D_H_ROW_INT;
|
||||
} else {
|
||||
dsc_merge_enabled = is_dsc_compression(pinfo) &&
|
||||
(pinfo->dsc_enc_total == 2);
|
||||
|
||||
if (ctl->mixer_right && (!dsc_merge_enabled))
|
||||
ctl->opmode |= MDSS_MDP_CTL_OP_PACK_3D_ENABLE |
|
||||
MDSS_MDP_CTL_OP_PACK_3D_H_ROW_INT;
|
||||
else
|
||||
ctl->opmode &= ~(MDSS_MDP_CTL_OP_PACK_3D_ENABLE |
|
||||
MDSS_MDP_CTL_OP_PACK_3D_H_ROW_INT);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue