drm/i915/bios: check DDI port presence based on child device
authorJani Nikula <jani.nikula@intel.com>
Fri, 17 Jan 2020 14:29:28 +0000 (16:29 +0200)
committerJani Nikula <jani.nikula@intel.com>
Tue, 21 Jan 2020 08:55:24 +0000 (10:55 +0200)
Report port presence based on port presence in VBT alone, relaxing the
requirements on supported encoders (DP, DVI, or HDMI). The goal is to
make future changes easier, however there is a small risk of reporting
more ports present than before in case of dubious VBT.

Regarding the current callers of intel_bios_is_port_present(), the
potential issue might be caused by DVO_PORT_CRT being identified as port
E in dvo_port_to_port(). Hopefully no VBT has that on SKL+ which support
DP/DVI/HDMI on port E; the current CRT init code on HSW/BDW does not
care.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/4338a29e4ed49e69f859dff1490fd85f6ae6177e.1579270868.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_bios.c

index 4c69253739ecd8881003b28fc0e9db6e6d3b2620..70fb87e7afb6b77521644a03ed8545ac5d00af02 100644 (file)
@@ -2236,9 +2236,7 @@ bool intel_bios_is_port_present(struct drm_i915_private *dev_priv, enum port por
                const struct ddi_vbt_port_info *port_info =
                        &dev_priv->vbt.ddi_port_info[port];
 
-               return port_info->supports_dp ||
-                      port_info->supports_dvi ||
-                      port_info->supports_hdmi;
+               return port_info->child;
        }
 
        /* FIXME maybe deal with port A as well? */