[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