• Ville Syrjälä's avatar
    drm/i915: Don't trust the DP_DETECT bit for eDP ports on CHV · e17ac6db
    Ville Syrjälä authored
    On CHV the display DDC pins may be muxed to an alternate function if
    there's no need for DDC on a specific port, which is the case for eDP
    ports since there's no way to plug in a DP++ HDMI dongle.
    
    This causes problems when trying to determine if the port is present
    since the the DP_DETECTED bit is the latched state of the DDC SDA pin
    at boot. If the DDC pins are muxed to an alternate function the bit
    may indicate that the port isn't present.
    
    To work around this look at the VBT as well as the DP_DETECTED bit
    to determine if we should attempt registering an eDP port. Do this
    only for ports B and C since port D doesn't support eDP (no PPS/BLC).
    
    In theory someone could also wire up a normal DP port w/o DDC lines.
    That would just mean that simple DP++ HDMI dongles wouldn't work
    on such a port. With this change we would still fail to register
    such DP ports. But let's hope no one wires their board in such a way,
    and if they do we can extend the VBT checks to cover normal DP ports
    as well.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84265Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    e17ac6db
intel_display.c 381 KB