[Intel-gfx] [PATCH 0/4] [CFT] interlaced support

Daniel Vetter daniel at ffwll.ch
Fri Jan 27 18:43:06 CET 2012

On Fri, Jan 27, 2012 at 02:25:49PM -0200, Paulo Zanoni wrote:
> Ok, so I had to look at the Windows registers again...
> Your "interlaced" branch had 6 patches. Patch 3 is the only one I
> changed. Here is my version:
> http://people.freedesktop.org/~pzanoni/0003-drm-i915-fixup-interlace-vertical-timings-confusion.patch.
> Now my monitor reports "1080i" :)
> Some notes about the patch:
> - I really like your solution of not using CRTC_INTERLACE_HALVE_V,
> because previously we were dividing by 2 and then multiplying by 2
> again, which would not restore the original values in case of odd
> numbers.
> - I'm not sure about the change inside drm_modes.c. Why do we need the
> "|= 1"? I fear it could cause us some troubles. This change might also
> break the other drivers, of course. Wel'll need a "v4".
> - It seems we need vtotal-- and vblank_end--. We need to find evidence
> for that in the documentation. I'm just copying Windows
> - I tested only on SNB. This time the screen looks good (previous
> versions were really ugly). I'll test ilk and report if something goes
> wrong...

I've updated my interlaced branch. Changes:
- Adjust vertical timings as Paulo discovered. I've dropped the change in
  drm_mode.c and instead substract one more from vtotal. I hope that this
  results in the same configuration.
- Added a paranoia patch to not set unsupported bits on gen2.
- Addes support for vsyncshift. The hw seems to use that to correctly
  insert the half-line delay when switching between even and odd fields.
  That might also explain why we have to substract a little bit from
  vtotal and vblank_end.

Testing feedback highly welcome. And if you can, please compare you
register-settings with those from windows/bios. I'll also add the
VSYNCSHIFT registers to intel_reg_dumper.

Cheers, Daniel
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48

More information about the Intel-gfx mailing list