• Ville Syrjälä's avatar
    drm/i915: Remove DDC pin sanitation · 49d4648b
    Ville Syrjälä authored
    Stop with the VBT DDC pin sanitation, and instead just check
    that the appropriate DDC pin is still available when initializing
    a HDMI connector.
    
    The reason being that we want to start initializing ports in
    VBT order to deal with VBTs that declare child devices with
    seemingly conflicting ports. As the encoder initialization can
    fail for other reasons (at least for eDP+AUX) we can't know
    upfront which way the conflicts should be resolved.
    
    Note that the old way of sanitizing gave priority to the last
    port declared in the VBT, but now we sort of do the opposite by
    favoring the first encoder to successfully initialize. So far
    we're not aware of HDMI/DDC use cases where this would matter
    but for AUX CH (will be subject to a similar change) there are
    known cases where it matters.
    
    Also note that the old code fell back to the platform default DDC
    pin if the VBT pin was populated but invalid. That doesn't seem like
    such a great idea because the VBT might have later declared another
    port using that platform default pin, and so we might just be
    creating more DDC pin conflicts here. So lets not second guess the
    VBT and simply reject the entire HDMI encoder if the VBT DDC pin is
    invalid.
    
    v2: Pimp the commit message (Jani)
    
    Cc: Jani Nikula <jani.nikula@intel.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230630155846.29931-4-ville.syrjala@linux.intel.comReviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
    49d4648b
intel_hdmi.c 96.9 KB