From 476a2e4892bf9242f5b41d6495babef89befaddd Mon Sep 17 00:00:00 2001 From: Benet Clark Date: Mon, 17 Mar 2014 13:14:22 -0700 Subject: 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 --- drivers/video/fbdev/msm/mdss_mdp_pp.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3