[GM965] Why does this patch fix my Intel TVOut issue?

elupus elupus at ecce.se
Tue May 20 03:07:17 PDT 2008


> 
> diff --git a/src/i830_tv.c b/src/i830_tv.c
> index 6adb9f2..a5b790b 100644
> --- a/src/i830_tv.c
> +++ b/src/i830_tv.c
> @@ -1286,6 +1286,8 @@ i830_tv_detect_type (xf86CrtcPtr    crtc,
>         tv_ctl = INREG(TV_CTL);
>         save_tv_ctl = tv_ctl;
>         tv_ctl &= ~TV_ENC_ENABLE;
> +       OUTREG(TV_CTL, tv_ctl);
> +       i830WaitForVblank(pScrn);
>         tv_ctl &= ~TV_TEST_MODE_MASK;
>         tv_ctl |= TV_TEST_MODE_MONITOR_DETECT;
>         tv_dac &= ~TVDAC_SENSE_MASK;
> @@ -1298,6 +1300,7 @@ i830_tv_detect_type (xf86CrtcPtr    crtc,
>                 DAC_B_0_7_V |
>                 DAC_C_0_7_V);
>         OUTREG(TV_CTL, tv_ctl);
> +       i830WaitForVblank(pScrn);
>         OUTREG(TV_DAC, tv_dac);
>         i830WaitForVblank(pScrn);
>         tv_dac = INREG(TV_DAC);
> 


Okey, i found a solution that works for me. When the function restores ctl 
state after having probed (right after the OUTREG(TV_DAC,save_tv_ctl)), it 
must do a wait vblank. I didn't need the other waits that Robert added. Intel 
manuals mention nothing about needed a vblank wait when turing of encoder, but 
it does mention it when turning it on.

Regards





More information about the xorg mailing list