• D
    drm/i915: rip out edp special case from dp_link_down · b6f69c9a
    Daniel Vetter 提交于
    This has been tons of fun to figure out with git blame. The first
    notion of this code block goes back to the original cpu edp enabling
    for ilk in
    
    commit 32f9d658
    Author: Zhenyu Wang <zhenyuw@linux.intel.com>
    Date:   Fri Jul 24 01:00:32 2009 +0800
    
        drm/i915: Add eDP support on IGDNG mobile chip
    
    Two things are notable in this commit wrt to the this edp special
    case:
    - The IS_eDP check _only_ fires for DP A, i.e. cpu edp ports.
    - The cpu edp port is disabled at the top of the dp_link_down function.
    
    My theory is that these hacks was added to work around the completely
    different modeset sequence for cpu edp ports compared to pch edp
    ports. With the cpu edp confusion on ilk (and snb/ivb) now fixed up,
    this shouldn't be required any more.
    
    The really interesting question is how this special cases survived
    this long in the code. The first step is declaring the pch port D as
    eDP if it's used for an internal panel:
    
    commit b329530c
    Author: Adam Jackson <ajax@redhat.com>
    Date:   Fri Jul 16 14:46:28 2010 -0400
    
        drm/i915/dp: Correctly report eDP in the core connector type
    
    This commit unfortunately failed to notice that not all edp ports are
    created equal. Then follow a flurry of refactorings, culminating in a
    patch from Keith Packard which resulted in the current logic (by
    making it "correct" for all platforms that have edp):
    
    commit 417e822d
    Author: Keith Packard <keithp@keithp.com>
    Date:   Tue Nov 1 19:54:11 2011 -0700
    
        drm/i915: Treat PCH eDP like DP in most places
    
    None of these cleanups or refactorings supply any reason why we need
    this code, they've simply carried it on as-is.
    
    Hence presume it might be harmful with the current code and rip it
    out. We do rewrite the link training bits completely anyway when
    re-training the link.
    Reviewed-by: NPaulo Zanoni <paulo.r.zanoni@intel.com>
    Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
    b6f69c9a
intel_dp.c 69.8 KB