{
struct hdmi *hdmi_drv = hdmi_dev->hdmi;
- if ((hdmi_drv->sleep == 0) && (hdmi_drv->enable == 1))
- rockchip_hdmiv1_irq(hdmi_drv);
+ rockchip_hdmiv1_irq(hdmi_drv);
return IRQ_HANDLED;
}
rockchip_hdmiv1_dev_init_ops(&rockchip_hdmiv1_ops);
rockchip_hdmiv1_property.name = (char *)pdev->name;
rockchip_hdmiv1_property.priv = hdmi_dev;
- rockchip_hdmiv1_property.feature |= SUPPORT_1080I |
- SUPPORT_480I_576I;
+ if (rk_fb_get_display_policy() == DISPLAY_POLICY_BOX)
+ rockchip_hdmiv1_property.feature |= SUPPORT_1080I |
+ SUPPORT_480I_576I;
hdmi_dev->hdmi = rockchip_hdmi_register(&rockchip_hdmiv1_property,
&rockchip_hdmiv1_ops);
if (hdmi_dev->hdmi == NULL) {
fb_register_client(&rockchip_hdmiv1_fb_notifier);
rockchip_hdmiv1_initial(hdmi_dev->hdmi);
- if (rk_fb_get_display_policy() == DISPLAY_POLICY_BOX) {
- rk_display_device_enable(hdmi_dev->hdmi->ddev);
- delay_work = hdmi_submit_work(hdmi_dev->hdmi,
- HDMI_HPD_CHANGE, 0, NULL);
- if (delay_work)
- flush_delayed_work(delay_work);
- }
+ rk_display_device_enable(hdmi_dev->hdmi->ddev);
+ delay_work = hdmi_submit_work(hdmi_dev->hdmi,
+ HDMI_HPD_CHANGE, 0, NULL);
+ if (delay_work)
+ flush_delayed_work(delay_work);
+
#if defined(CONFIG_DEBUG_FS)
hdmi_dev->debugfs_dir = debugfs_create_dir("rockchip_hdmiv1", NULL);
if (IS_ERR(hdmi_dev->debugfs_dir)) {
{
struct hdmi_dev *hdmi_dev = hdmi_drv->property->priv;
- if (!hdmi_dev->enable)
+ if (!hdmi_dev->enable) {
hdmi_dev->enable = 1;
+ hdmi_msk_reg(hdmi_dev, HDMI_STATUS,
+ m_MASK_INT_HOTPLUG, v_MASK_INT_HOTPLUG(1));
+ }
hdmi_submit_work(hdmi_drv, HDMI_HPD_CHANGE, 10, NULL);
return 0;
}
{
struct hdmi_dev *hdmi_dev = hdmi_drv->property->priv;
- if (hdmi_dev->enable)
+ if (hdmi_dev->enable) {
hdmi_dev->enable = 0;
-
+ hdmi_msk_reg(hdmi_dev, HDMI_STATUS,
+ m_MASK_INT_HOTPLUG, v_MASK_INT_HOTPLUG(0));
+ }
return 0;
}
if (!hdmi_drv->uboot) {
rockchip_hdmiv1_reset_pclk();
rockchip_hdmiv1_reset(hdmi_drv);
+ hdmi_msk_reg(hdmi_dev, HDMI_STATUS,
+ m_MASK_INT_HOTPLUG, v_MASK_INT_HOTPLUG(0));
} else if (hdmi_drv->ops->getstatus(hdmi_drv) == HDMI_HPD_REMOVED) {
rockchip_hdmiv1_removed(hdmi_drv);
hdmi_drv->lcdc->uboot_logo = 0;