From 8999042cef77464245ef43971219e2aff455bf9b Mon Sep 17 00:00:00 2001 From: Zheng Yang Date: Thu, 16 Oct 2014 17:42:09 +0800 Subject: [PATCH] rk3036/rk312x hdmi: We need to check hdmi connect status in probe hdmi. If hdmi is enable in uboot, and is removed before kernel, we will power down hdmi, and set it as disconnected. --- drivers/video/rockchip/hdmi/chips/rk3036/rk3036_hdmi_hw.c | 8 ++++++++ drivers/video/rockchip/hdmi/rk_hdmi_task.c | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/video/rockchip/hdmi/chips/rk3036/rk3036_hdmi_hw.c b/drivers/video/rockchip/hdmi/chips/rk3036/rk3036_hdmi_hw.c index d4ee596fe1a9..6c1edee27031 100755 --- a/drivers/video/rockchip/hdmi/chips/rk3036/rk3036_hdmi_hw.c +++ b/drivers/video/rockchip/hdmi/chips/rk3036/rk3036_hdmi_hw.c @@ -857,6 +857,14 @@ int rk3036_hdmi_initial(struct hdmi *hdmi_drv) if (!hdmi_drv->uboot_logo) { rk3036_hdmi_reset_pclk(); rk3036_hdmi_reset(hdmi_drv); + } else { + hdmi_drv->hotplug = rk3036_hdmi_detect_hotplug(hdmi_drv); + if (hdmi_drv->hotplug == HDMI_HPD_REMOVED) { + rk3036_hdmi_removed(hdmi_drv); + hdmi_drv->state = HDMI_SLEEP; + hdmi_drv->lcdc->uboot_logo = 0; + hdmi_drv->uboot_logo = 0; + } } if (hdmi_drv->hdcp_power_on_cb) rc = hdmi_drv->hdcp_power_on_cb(); diff --git a/drivers/video/rockchip/hdmi/rk_hdmi_task.c b/drivers/video/rockchip/hdmi/rk_hdmi_task.c index 4311edf9c7a3..b7d96ffd3373 100755 --- a/drivers/video/rockchip/hdmi/rk_hdmi_task.c +++ b/drivers/video/rockchip/hdmi/rk_hdmi_task.c @@ -48,8 +48,8 @@ static void hdmi_sys_show_state(struct hdmi *hdmi) int hdmi_sys_init(struct hdmi *hdmi) { - hdmi->uboot_logo = support_uboot_display(); - if ((uboot_vic > 0) && (hdmi->uboot_logo > 0)) { + if (uboot_vic > 0) { + hdmi->uboot_logo = support_uboot_display(); hdmi->hotplug = HDMI_HPD_ACTIVED; hdmi->state = PLAY_BACK; hdmi->enable = HDMI_ENABLE; -- 2.34.1