Comment 80 for bug 763688

Revision history for this message
Robert Lowery (rglowery) wrote :

This kernel patch fixes it for me. I'm working with the maintainers upstream to get it merged

--- intel_tv.c.orig 2012-05-19 16:32:21.000000000 +1000
+++ intel_tv.c 2012-05-19 16:33:23.000000000 +1000
@@ -1186,6 +1186,9 @@ intel_tv_detect_type(struct intel_tv *in
  I915_WRITE(TV_DAC, save_tv_dac & ~TVDAC_STATE_CHG_EN);
  I915_WRITE(TV_CTL, save_tv_ctl);

+ intel_wait_for_vblank(intel_tv->base.base.dev,
+ to_intel_crtc(intel_tv->base.base.crtc)->pipe);
+
  /* Restore interrupt config */
  if (connector->polled & DRM_CONNECTOR_POLL_HPD) {
   spin_lock_irqsave(&dev_priv->irq_lock, irqflags);