[GM965] Why does this patch fix my Intel TVOut issue?
elupus
elupus at ecce.se
Sat May 17 04:28:00 PDT 2008
On Thu, 15 May 2008 22:00:29 +1000 (EST), Robert Lowery wrote:
> 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
Thanx, finally we are getting somewhere :). Just tested this patch, and it
fixes it for me too. I have the exact same hardware so it might not be that
weird. Anybody have an idea why this hack is needed?
Tv output display just goes blank on X startup without it.
Joakim
More information about the xorg
mailing list