From 817db0024a2b3fe29de951b08100de0b84406b68 Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Thu, 10 Mar 2022 14:10:27 +0800 Subject: [PATCH] drm/rockchip: dw_hdmi: Enable split mode only when two HDMI are enabled Signed-off-by: Algea Cao Change-Id: Ib62c7f3b9ccfb03f61311fb704d9d897afaa50f2 --- drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c index a39ca53713e0..cd0b58de98e4 100644 --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -181,6 +181,7 @@ struct rockchip_hdmi { unsigned long enc_out_encoding; int color_changed; int hpd_irq; + int hdmi_num; struct drm_property *color_depth_property; struct drm_property *hdmi_output_property; @@ -2924,7 +2925,8 @@ static int dw_hdmi_rockchip_bind(struct device *dev, struct device *master, plat_data->property_ops = &dw_hdmi_rockchip_property_ops; - if (hdmi->chip_data->split_mode) { + /* If don't enable hdmi0 and hdmi1, we don't enable split mode */ + if (hdmi->chip_data->split_mode && (hdmi->hdmi_num == 2)) { struct rockchip_hdmi *secondary = rockchip_hdmi_find_by_id(dev->driver, !hdmi->id); @@ -3219,6 +3221,8 @@ static int dw_hdmi_rockchip_probe(struct platform_device *pdev) id = of_alias_get_id(pdev->dev.of_node, "hdmi"); if (id < 0) id = 0; + else + hdmi->hdmi_num++; hdmi->id = id; hdmi->dev = &pdev->dev;