diff options
-rw-r--r-- | drivers/gpu/drm/msm/disp/mdp5/mdp5_ctl.c | 6 |
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; |