Since an HDMI output can only be enabled in legacy mode on TC ports,
assume that VBT is wrong and the port is legacy if VBT says the port is
non-legacy and has HDMI.

Signed-off-by: Imre Deak <imre.d...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c 
b/drivers/gpu/drm/i915/display/intel_ddi.c
index c531fee888a49..e79da640759c3 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -4494,6 +4494,13 @@ void intel_ddi_init(struct drm_i915_private *dev_priv, 
enum port port)
                        !intel_bios_encoder_supports_typec_usb(devdata) &&
                        !intel_bios_encoder_supports_tbt(devdata);
 
+               if (!is_legacy && init_hdmi) {
+                       drm_dbg_kms(&dev_priv->drm,
+                                   "VBT says port %c is non-legacy TC and has 
HDMI, assume it's legacy TC\n",
+                                   port_name(port));
+                       is_legacy = true;
+               }
+
                intel_tc_port_init(dig_port, is_legacy);
 
                encoder->update_prepare = intel_ddi_update_prepare;
-- 
2.37.1

Reply via email to