I recently upgraded to ubuntu 12.04 and noticed the TV out no longer works
with kernel 3.2.0.

Tracing back through old kernels, I found the last working kernel was 2.6.35.

Now 4 years ago I fixed a similar issue in the user space intel driver by
waiting for vblank after writing to the TV_CTL register via
http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/commit/src/i830_tv.c?id=1142be53eb8d2ee8a9b60ace5d49f0ba27332275

Low and behold, it appears 2 years later this same issue was reintroduced
in kernel 2.6.36 and has led to some very unhappy users eg
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/763688

Could someone please apply the following which I have confirmed re-fixes
the issue for my TV output via component video connection.

--- 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);


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to