[Intel-gfx] [PATCH] Fix GM965 TV out regression

Robert Lowery rglowery at exemail.com.au
Sat May 19 08:52:10 CEST 2012


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





More information about the Intel-gfx mailing list