]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Program VSYNCSHIFT in a more consistent manner
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 28 Mar 2014 21:29:30 +0000 (23:29 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 31 Mar 2014 08:46:32 +0000 (10:46 +0200)
commit0b52264512a56b5e850d22552af05aff836f418b
treeacbd1a08c0609c793ba4ebefe221a5c68011f0c1
parentca5fc091b4ffbc09bda8b24b70b93fb6ab5d2b4e
drm/i915: Program VSYNCSHIFT in a more consistent manner

When interlaced sdvo output is used, vsyncshift should supposedly
be (htotal-1)/2. In reality PIPECONF/TRANSCONF will override it by
using the legacy vsyncshift interlace mode which causes the hardware
to ignore the VSYNCSHIFT register.

The only odd thing here is that on PCH platforms we program the
VSYNCSHIFT on both CPU and PCH, and it's not entirely clear if both
sides have to agree on the value or not. On the CPU side there's no
way to override the value via PIPECONF anymore, so if we want to make
the CPU side agree with the PCH side, we should probably program the
approriate value into VSYNCSHIFT manually. So let's do that, but for
now leave the PCH side to still use the legacy interlace mode in
TRANSCONF.

We can also drop the gen2 check since gen2 doesn't support interlaced
modes at all.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c