aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c
index 6b605562e572..f93d5681267c 100644
--- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c
+++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c
@@ -691,6 +691,7 @@ struct mdp5_ctl_manager *mdp5_ctlm_init(struct drm_device *dev,
691 struct mdp5_ctl_manager *ctl_mgr; 691 struct mdp5_ctl_manager *ctl_mgr;
692 const struct mdp5_cfg_hw *hw_cfg = mdp5_cfg_get_hw_config(cfg_hnd); 692 const struct mdp5_cfg_hw *hw_cfg = mdp5_cfg_get_hw_config(cfg_hnd);
693 int rev = mdp5_cfg_get_hw_rev(cfg_hnd); 693 int rev = mdp5_cfg_get_hw_rev(cfg_hnd);
694 unsigned dsi_cnt = 0;
694 const struct mdp5_ctl_block *ctl_cfg = &hw_cfg->ctl; 695 const struct mdp5_ctl_block *ctl_cfg = &hw_cfg->ctl;
695 unsigned long flags; 696 unsigned long flags;
696 int c, ret; 697 int c, ret;
@@ -740,7 +741,10 @@ struct mdp5_ctl_manager *mdp5_ctlm_init(struct drm_device *dev,
740 * only write into CTL0's FLUSH register) to keep two DSI pipes in sync. 741 * only write into CTL0's FLUSH register) to keep two DSI pipes in sync.
741 * Single FLUSH is supported from hw rev v3.0. 742 * Single FLUSH is supported from hw rev v3.0.
742 */ 743 */
743 if (rev >= 3) { 744 for (c = 0; c < ARRAY_SIZE(hw_cfg->intf.connect); c++)
745 if (hw_cfg->intf.connect[c] == INTF_DSI)
746 dsi_cnt++;
747 if ((rev >= 3) && (dsi_cnt > 1)) {
744 ctl_mgr->single_flush_supported = true; 748 ctl_mgr->single_flush_supported = true;
745 /* Reserve CTL0/1 for INTF1/2 */ 749 /* Reserve CTL0/1 for INTF1/2 */
746 ctl_mgr->ctls[0].status |= CTL_STAT_BOOKED; 750 ctl_mgr->ctls[0].status |= CTL_STAT_BOOKED;