From fccc5e8d9c4013039f5e7ddad4096742a88a259d Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Thu, 8 Aug 2019 10:31:34 +0800 Subject: [PATCH] drm: bridge: synopsys: update mc_clkdis in dw_hdmi_bind If vop return error when showing kernel logo, connector atomic flush will not be call, and mc_clkdis can not be updated. This patch update mc_clkdis in the dw_hdmi_bind, when phy clock is locked and HPD is connected. Change-Id: I1498d787a993961fe75236c309ecc3c898d611a4 Signed-off-by: Zheng Yang --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 02f5f5c99302..9e65ef75b4a4 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -3100,6 +3100,10 @@ __dw_hdmi_probe(struct platform_device *pdev, prod_id1 & HDMI_PRODUCT_ID1_HDCP ? "with" : "without", hdmi->phy.name); + ret = hdmi_readb(hdmi, HDMI_PHY_STAT0); + if (ret & (HDMI_PHY_TX_PHY_LOCK | HDMI_PHY_HPD)) + hdmi->mc_clkdis = hdmi_readb(hdmi, HDMI_MC_CLKDIS); + init_hpd_work(hdmi); initialize_hdmi_ih_mutes(hdmi);