• Daniel Vetter's avatar
    drm/i915: rip out early dp port write for gm45/ilk · fba92150
    Daniel Vetter authored
    It's bogus.
    
    If I've followed the history of this piece of code correctly, i.e. the
    initial register write with the following vblank wait, this goes all
    the way back to the original enabling of DP support in
    
    commit a4fc5ed6
    Author: Keith Packard <keithp@keithp.com>
    Date:   Tue Apr 7 16:16:42 2009 -0700
    
        drm/i915: Add Display Port support
    
    Unfortunately it seems to be nothing more than glorified duct-tape and
    sometimes actively harmful. Adam Jackson noticed this for CPT
    platforms with
    
    commit e8519464
    Author: Adam Jackson <ajax@redhat.com>
    Date:   Thu Jul 21 17:48:38 2011 -0400
    
        drm/i915/dp: Don't turn CPT DP ports on too early
    
    Unfortunately this kept the code around for ilk and gm45.
    
    The specific failure case I'm seeing here is that after a dpms off/on
    cycle we have the bits from the last link training (hopefully
    successful link training) set in intel_dp->DP. This is requiered so
    that complete_link_train can enable the port with the right tuning
    values.
    
    Unfortunately writing these again to the disabled port at dpms on time
    kills the port somehow until it's disabled - dp link training fails in
    an endless loop without this patch on my mobile ilk and gm45.
    
    Cc: Chris Wilson <chris@chris-wilson.co.uk>
    Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=51493Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    fba92150
intel_dp.c 69.6 KB