Merge "msm: mdss: Allow WB to use first available control path"

This commit is contained in:
Linux Build Service Account 2017-01-05 02:08:48 -08:00 committed by Gerrit - the friendly Code Review server
commit d4e1fb98bd

View file

@ -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,