rk2928 hdmi: fix hdmi switch status
authoryzq <yzq@rock-chips.com>
Mon, 5 Nov 2012 08:00:09 +0000 (16:00 +0800)
committeryzq <yzq@rock-chips.com>
Mon, 5 Nov 2012 08:00:09 +0000 (16:00 +0800)
drivers/video/rockchip/hdmi/chips/rk2928/rk2928_hdmi_hw.c
drivers/video/rockchip/hdmi/rk_hdmi_sysfs.c

index 63bff24236c224385401c1ae8000dd62f659bdfe..bf899706952f70f0fc7624599f38e76562146a05 100755 (executable)
@@ -378,6 +378,8 @@ void rk2928_hdmi_control_output(int enable)
        char mutestatus = 0;
        
        if(enable) {
+               if(hdmi->pwr_mode == LOWER_PWR)
+                       rk2928_hdmi_set_pwr_mode(NORMAL);
                mutestatus = HDMIRdReg(AV_MUTE);
                if(mutestatus && (m_AUDIO_MUTE | m_VIDEO_BLACK)) {
                        HDMIWrReg(AV_MUTE, v_AUDIO_MUTE(0) | v_VIDEO_MUTE(0));
index a93c3211083918d7daa02c8668fc66cafc96b2f3..5dd6fddee913215b6f08327621dbbd4d1da0d699 100755 (executable)
@@ -42,7 +42,7 @@ static int hdmi_set_enable(struct rk_display_device *device, int enable)
        else {
                if(hdmi->irq)
                        enable_irq(hdmi->irq);
-               #ifdef CONFIG_HDMI_RK610
+               #if defined(CONFIG_HDMI_RK610) || defined(CONFIG_HDMI_RK2928)
                        queue_delayed_work(hdmi->workqueue, &hdmi->delay_work, 0);
                #endif
                mutex_unlock(&hdmi->enable_mutex);