drm/i915/tc: Fix initial TC mode on disabled legacy ports
authorImre Deak <imre.deak@intel.com>
Thu, 16 Mar 2023 13:17:19 +0000 (15:17 +0200)
committerImre Deak <imre.deak@intel.com>
Wed, 22 Mar 2023 18:31:14 +0000 (20:31 +0200)
commit2983b869881b169288909b4ac93f407fe804a75a
treeeba4e2229892182ea1071d5b8771b028ba234340
parentc173a91b760844074abcd636eda47d3b2c107a64
drm/i915/tc: Fix initial TC mode on disabled legacy ports

Atm, a TC port's initial mode will be read out as TBT mode in any case
the PHY ownership is not held. This isn't correct for legacy ports which
should be used only in legacy mode.

Fix the above initial mode to be disconnected mode for a legacy port and
TBT mode for DP-alt/TBT ports. Determine the port type by checking first
the HPD state and then the legacy VBT flag (so the HPD state can correct
a bogus VBT flag). If a sink is connected on a disabled port the PHY
will get also connected (switching it to legacy mode on a legacy port).

Also connect the PHY on a legacy port if it's enabled but BIOS
incorrectly left it in the disconnected state for some reason.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230316131724.359612-10-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_tc.c