[GM965] Why does this patch fix my Intel TVOut issue?
Robert Lowery
rglowery at exemail.com.au
Thu May 15 05:00:29 PDT 2008
Hi Folks,
I've never been able to obtain reliable (ie non blank) TV output on my
AOpen MP965-DR (GM965 based) HTPC. Spending some time investigating, I
have found the patch below works around the problem.
diff --git a/src/i830_tv.c b/src/i830_tv.c
index 6adb9f2..f442a4f 100644
--- a/src/i830_tv.c
+++ b/src/i830_tv.c
@@ -1297,7 +1297,7 @@ i830_tv_detect_type (xf86CrtcPtr crtc,
DAC_A_0_7_V |
DAC_B_0_7_V |
DAC_C_0_7_V);
- OUTREG(TV_CTL, tv_ctl);
+ //OUTREG(TV_CTL, tv_ctl);
OUTREG(TV_DAC, tv_dac);
i830WaitForVblank(pScrn);
tv_dac = INREG(TV_DAC);
@@ -1316,6 +1316,7 @@ i830_tv_detect_type (xf86CrtcPtr crtc,
"Detected Composite TV connection\n");
}
type = TV_TYPE_COMPOSITE;
+ type = TV_TYPE_COMPONENT;
} else if ((tv_dac & (TVDAC_A_SENSE|TVDAC_B_SENSE)) == TVDAC_A_SENSE) {
if (pI830->debug_modes) {
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
Basically I have turned off the code that disables the encoder and puts it
into detection mode (stopping TV_CTL from being changed from TV_ENC_ENABLE
| TV_OVERSAMPLE_8X to TV_TEST_MODE_MONITOR_DETECT | TV_OVERSAMPLE_8X).
Note the second part of the diff that forces TV_TYPE_COMPONENT is really
only required due to the detection mode being disabled, I believe the crux
of the issue is in restoration of TV_CTL.
I've also tried swapping the TV_DAC and TV_CTL restoration order and
setting TV_DAC to 0 before restoring TV_CTL, but neither resolve the
problem. Is there something special that needs to be done when restoring
TV_CTL?
Suggestions welcome.
Thanks
-Rob
More information about the xorg
mailing list