summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBenet Clark <benetc@codeaurora.org>2014-03-17 13:14:22 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:28:08 -0700
commit476a2e4892bf9242f5b41d6495babef89befaddd (patch)
tree82b63f8d56f91c1af0370aa7a8bf296d4915f0fa /drivers
parent36e1ed5c26104734eabcab9fcce40ae40975c384 (diff)
msm: mdss: Prevent AD on WFD configuration
Assertive display is not allowed on HDMI and WFD configurations. However, since WFD uses the writeback path, and AD uses the writeback path for earlier hardware, then we must check which hardware configuration is being used when checking writeback panel configuration to prevent or allow AD. Change-Id: I85f7380d0345cad7785ed41e22df559bc5c1618e Signed-off-by: Benet Clark <benetc@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_pp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_pp.c b/drivers/video/fbdev/msm/mdss_mdp_pp.c
index 4bf49b6a620d..c457a3616fed 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_pp.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_pp.c
@@ -1707,6 +1707,7 @@ int mdss_mdp_pp_setup_locked(struct mdss_mdp_ctl *ctl)
u32 disp_num;
int i;
bool valid_mixers = true;
+ bool valid_ad_panel = true;
if ((!ctl->mfd) || (!mdss_pp_res) || (!mdata))
return -EINVAL;
@@ -1727,8 +1728,13 @@ int mdss_mdp_pp_setup_locked(struct mdss_mdp_ctl *ctl)
if (mixer_id[i] >= mdata->nad_cfgs)
valid_mixers = false;
}
+ valid_ad_panel = (ctl->mfd->panel_info->type != DTV_PANEL) &&
+ (((mdata->mdp_rev < MDSS_MDP_HW_REV_103) &&
+ (ctl->mfd->panel_info->type == WRITEBACK_PANEL)) ||
+ (ctl->mfd->panel_info->type != WRITEBACK_PANEL));
+
if (valid_mixers && (mixer_cnt <= mdata->nmax_concurrent_ad_hw) &&
- (ctl->mfd->panel_info->type != DTV_PANEL)) {
+ valid_ad_panel) {
ret = mdss_mdp_ad_setup(ctl->mfd);
if (ret < 0)
pr_warn("ad_setup(disp%d) returns %d", disp_num, ret);