summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-05 02:08:48 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-05 02:08:48 -0800
commitd4e1fb98bde0a24dda532ddb0049d157ab01e4b6 (patch)
tree85485890839b2c40b5119ad9c236cc130aa26ce8 /drivers/video
parent9bcaa86e0cec25facfb36d8e913341df7b88c826 (diff)
parent134572d905d7dba5acd673fd9594391fd7a93611 (diff)
Merge "msm: mdss: Allow WB to use first available control path"
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp.h b/drivers/video/fbdev/msm/mdss_mdp.h
index ab2a7184aa45..3bb936638a12 100644
--- a/drivers/video/fbdev/msm/mdss_mdp.h
+++ b/drivers/video/fbdev/msm/mdss_mdp.h
@@ -1322,12 +1322,21 @@ static inline int mdss_mdp_get_wb_ctl_support(struct mdss_data_type *mdata,
bool rotator_session)
{
/*
- * Initial control paths are used for primary and external
- * interfaces and remaining control paths are used for WB
- * interfaces.
+ * Any control path can be routed to any of the hardware datapaths.
+ * But there is a HW restriction for 3D Mux block. As the 3D Mux
+ * settings in the CTL registers are double buffered, if an interface
+ * uses it and disconnects, then the subsequent interface which gets
+ * connected should use the same control path in order to clear the
+ * 3D MUX settings.
+ * To handle this restriction, we are allowing WB also, to loop through
+ * all the avialable control paths, so that it can reuse the control
+ * path left by the external interface, thereby clearing the 3D Mux
+ * settings.
+ * The initial control paths can be used by Primary, External and WB.
+ * The rotator can use the remaining available control paths.
*/
return rotator_session ? (mdata->nctl - mdata->nmixers_wb) :
- (mdata->nctl - mdata->nwb);
+ MDSS_MDP_CTL0;
}
static inline bool mdss_mdp_is_nrt_vbif_client(struct mdss_data_type *mdata,