[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