• Ville Syrjälä's avatar
    drm/i915: Program VSYNCSHIFT in a more consistent manner · 609aeaca
    Ville Syrjälä authored
    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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    609aeaca
intel_display.c 332 KB