From cb42b8db86d88807971bdf2fab31035c2353540b Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Mon, 23 Sep 2024 17:48:37 +0800 Subject: [PATCH] drm/bridge: synopsys: dw-hdmi-qp: Check that necessary hdmi clock is on when hdmi bind Check whether ipi/link/vid clk is enabled in uboot to determine whether the uboot logo is enabled. Change-Id: I6da4b0694a3df5a48136c96fa21d5f98dcc8d7c7 Signed-off-by: Algea Cao --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c index 466d204a7b11..8e9208095563 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c @@ -71,6 +71,8 @@ #define HDMI_HDCP2_AUTH BIT(1) #define HDMI_HDCP14_AUTH BIT(0) +#define HDMI_CTRL_CLK_EN 0x15 + static const unsigned int dw_hdmi_cable[] = { EXTCON_DISP_HDMI, EXTCON_NONE, @@ -4317,7 +4319,8 @@ static struct dw_hdmi_qp *dw_hdmi_qp_probe(struct platform_device *pdev, hdmi_writel(hdmi, hdmi->refclk_rate, TIMER_BASE_CONFIG0); hdmi->logo_plug_out = false; if (hdmi->phy.ops->read_hpd(hdmi, hdmi->phy.data) == connector_status_connected && - hdmi_readl(hdmi, I2CM_INTERFACE_CONTROL0)) { + hdmi_readl(hdmi, I2CM_INTERFACE_CONTROL0) && + (hdmi_readl(hdmi, CMU_STATUS) & HDMI_CTRL_CLK_EN) == HDMI_CTRL_CLK_EN) { hdmi->initialized = true; hdmi->disabled = false; }