These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / video / fbdev / omap2 / dss / hdmi_wp.c
index c15377e..7c544bc 100644 (file)
@@ -110,7 +110,23 @@ int hdmi_wp_video_start(struct hdmi_wp_data *wp)
 
 void hdmi_wp_video_stop(struct hdmi_wp_data *wp)
 {
+       int i;
+
+       hdmi_write_reg(wp->base, HDMI_WP_IRQSTATUS, HDMI_IRQ_VIDEO_FRAME_DONE);
+
        REG_FLD_MOD(wp->base, HDMI_WP_VIDEO_CFG, false, 31, 31);
+
+       for (i = 0; i < 50; ++i) {
+               u32 v;
+
+               msleep(20);
+
+               v = hdmi_read_reg(wp->base, HDMI_WP_IRQSTATUS_RAW);
+               if (v & HDMI_IRQ_VIDEO_FRAME_DONE)
+                       return;
+       }
+
+       DSSERR("no HDMI FRAMEDONE when disabling output\n");
 }
 
 void hdmi_wp_video_config_format(struct hdmi_wp_data *wp,