From: Zheng Yang Date: Thu, 16 Oct 2014 09:42:09 +0000 (+0800) Subject: rk3036/rk312x hdmi: X-Git-Tag: firefly_0821_release~4573 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8999042cef77464245ef43971219e2aff455bf9b;p=firefly-linux-kernel-4.4.55.git 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. --- 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;