• Daniel Vetter's avatar
    drm/i915: wait for a vblank to pass after tv detect · bf2125e2
    Daniel Vetter authored
    Otherwise the hw will get confused and result in a black screen.
    
    This regression has been most likely introduce in
    
    commit 974b9331
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Sun Sep 5 00:44:20 2010 +0100
    
        drm/i915/tv: Poll for DAC state change
    
    That commit replace the first msleep(20) with a busy-loop, but failed
    to keep the 2nd msleep around. Later on we've replaced all these
    msleep(20) by proper vblanks.
    
    For reference also see the commit in xf86-video-intel:
    
    commit 1142be53eb8d2ee8a9b60ace5d49f0ba27332275
    Author: Jesse Barnes <jbarnes@hobbes.lan>
    Date:   Mon Jun 9 08:52:59 2008 -0700
    
        Fix TV programming:  add vblank wait after TV_CTL writes
    
        Fxies FDO bug #14000; we need to wait for vblank after
        writing TV_CTL or following "DPMS on" calls may not actually enable the output.
    
    v2: As suggested by Chris Wilson, add a small comment to ensure that
    no one accidentally removes this vblank wait again - there really
    seems to be no sane explanation for why we need it, but it is
    required.
    
    Launchpad: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/763688Reported-and-Tested-by: default avatarRobert Lowery <rglowery@exemail.com.au>
    Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>
    Cc: stable@vger.kernel.org
    Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    bf2125e2
intel_tv.c 46.7 KB