drm/i915/tgl: allow DVI/HDMI on port A
authorLucas De Marchi <lucas.demarchi@intel.com>
Wed, 13 Nov 2019 02:19:35 +0000 (18:19 -0800)
committerLucas De Marchi <lucas.demarchi@intel.com>
Wed, 13 Nov 2019 21:03:11 +0000 (13:03 -0800)
Tiger Lake supports HDMI on port A. For other platforms we ignore what
the VBT says regarding HDMI to workaround broken VBTs, see
commit 2ba7d7e04371 ("drm/i915/bios: ignore HDMI on port A"). Make this
apply gen12+ so they inherit the TGL behavior.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191113021935.41547-1-lucas.demarchi@intel.com
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/display/intel_hdmi.c

index f345f8d900d245d88251e765743ab406714910ea..6d7b1a83cb075167b434646b0e7e303d48a65381 100644 (file)
@@ -1450,7 +1450,7 @@ static void parse_ddi_port(struct drm_i915_private *dev_priv,
        is_hdmi = is_dvi && (child->device_type & DEVICE_TYPE_NOT_HDMI_OUTPUT) == 0;
        is_edp = is_dp && (child->device_type & DEVICE_TYPE_INTERNAL_CONNECTOR);
 
-       if (port == PORT_A && is_dvi) {
+       if (port == PORT_A && is_dvi && INTEL_GEN(dev_priv) < 12) {
                DRM_DEBUG_KMS("VBT claims port A supports DVI%s, ignoring\n",
                              is_hdmi ? "/HDMI" : "");
                is_dvi = false;
index ed4a68fb351f830f241e3e2bf92d501dac60e128..659a03b088493f40d01d84eec4f7991a71625d60 100644 (file)
@@ -3140,7 +3140,7 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port,
        DRM_DEBUG_KMS("Adding HDMI connector on [ENCODER:%d:%s]\n",
                      intel_encoder->base.base.id, intel_encoder->base.name);
 
-       if (WARN_ON(port == PORT_A))
+       if (INTEL_GEN(dev_priv) < 12 && WARN_ON(port == PORT_A))
                return;
 
        if (WARN(intel_dig_port->max_lanes < 4,