From: Zheng Yang Date: Thu, 23 Jul 2015 01:05:37 +0000 (+0800) Subject: hdmi:rk3288/rk3368: set controller register in uboot logo mode. X-Git-Tag: firefly_0821_release~3884 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b93429044ad0618f5eeef6ef8ab235321de768e1;p=firefly-linux-kernel-4.4.55.git hdmi:rk3288/rk3368: set controller register in uboot logo mode. EDID data readed in uboot and kernel may be different, and hdmi output color mode is different in uboot and kernel: uboot output RGB when EDID is wrong and kernel output YCbCr with right EDID. But avi infomation and controller register is not set in kernel, so the picture is wrong. Now fix this bug. Signed-off-by: Zheng Yang --- diff --git a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c index 8492717a1c56..5ca7c1a15eeb 100755 --- a/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c +++ b/drivers/video/rockchip/hdmi/rockchip-hdmiv2/rockchip_hdmiv2_hw.c @@ -578,12 +578,6 @@ static int rockchip_hdmiv2_video_framecomposer(struct hdmi *hdmi_drv, hdmi_dev->pixelrepeat = timing->pixelrepeat; hdmi_dev->colordepth = vpara->color_output_depth; - /* Video Register has already been set in uboot, - so we no need to set again */ - - if (hdmi_drv->uboot) - return -1; - /* Start/stop HDCP keepout window generation */ hdmi_msk_reg(hdmi_dev, FC_INVIDCONF, m_FC_HDCP_KEEPOUT, v_FC_HDCP_KEEPOUT(1)); @@ -1301,7 +1295,8 @@ static int hdmi_dev_config_video(struct hdmi *hdmi, struct hdmi_video *vpara) dev_info(hdmi->dev, "[%s] sucess output DVI.\n", __func__); } - rockchip_hdmiv2_config_phy(hdmi_dev); + if (!hdmi->uboot) + rockchip_hdmiv2_config_phy(hdmi_dev); return 0; }