Loading drivers/video/msm/mdss/mdss_mdp.h +13 −4 Original line number Diff line number Diff line Loading @@ -1315,12 +1315,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, Loading Loading
drivers/video/msm/mdss/mdss_mdp.h +13 −4 Original line number Diff line number Diff line Loading @@ -1315,12 +1315,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, Loading