From: Baihan Li <libai...@huawei.com>

If VGA and DP connected together, there will be only one can get crtc.
Add encoder possible_clones to support two connectors enable.

Fixes: 3c7623fb5bb6 ("drm/hisilicon/hibmc: Enable this hot plug detect of irq 
feature")
Signed-off-by: Baihan Li <libai...@huawei.com>
Signed-off-by: Yongbang Shi <shiyongb...@huawei.com>
---
 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c 
b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
index ac552c339671..289304500ab0 100644
--- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
+++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
@@ -115,6 +115,8 @@ static const struct drm_mode_config_funcs hibmc_mode_funcs 
= {
 static int hibmc_kms_init(struct hibmc_drm_private *priv)
 {
        struct drm_device *dev = &priv->dev;
+       struct drm_encoder *encoder;
+       u32 clone_mask = 0;
        int ret;
 
        ret = drmm_mode_config_init(dev);
@@ -154,6 +156,12 @@ static int hibmc_kms_init(struct hibmc_drm_private *priv)
                return ret;
        }
 
+       drm_for_each_encoder(encoder, dev)
+               clone_mask |= drm_encoder_mask(encoder);
+
+       drm_for_each_encoder(encoder, dev)
+               encoder->possible_clones = clone_mask;
+
        return 0;
 }
 
-- 
2.33.0

Reply via email to