summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2023-03-23 16:20:21 +0200
committerImre Deak <imre.deak@intel.com>2023-04-03 11:35:31 +0300
commite0b1ef58d98ae0feba98190c9faf192aabceb811 (patch)
tree996b4aeb0993ba9e7baaf3d8e1a92caeba9e881f /drivers/gpu/drm/i915
parent3b7d5663702373358d58987a3684f6c59443d9d4 (diff)
downloadlinux-stable-e0b1ef58d98ae0feba98190c9faf192aabceb811.tar.gz
linux-stable-e0b1ef58d98ae0feba98190c9faf192aabceb811.tar.bz2
linux-stable-e0b1ef58d98ae0feba98190c9faf192aabceb811.zip
drm/i915/tc: Check TC mode instead of the VBT legacy flag
After the previous patch the TC mode in the connect/disconnect functions is always in sync with the VBT legacy port flag, so for consistency with the rest of the function check the TC mode instead of the VBT flag. Reviewed-by: Mika Kahola <mika.kahola@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230323142035.1432621-16-imre.deak@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915')
-rw-r--r--drivers/gpu/drm/i915/display/intel_tc.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_tc.c b/drivers/gpu/drm/i915/display/intel_tc.c
index b4e5de676816..8cae650d2880 100644
--- a/drivers/gpu/drm/i915/display/intel_tc.c
+++ b/drivers/gpu/drm/i915/display/intel_tc.c
@@ -449,7 +449,7 @@ static bool tc_phy_verify_legacy_or_dp_alt_mode(struct intel_tc_port *tc,
int max_lanes;
max_lanes = intel_tc_port_fia_max_lane_count(dig_port);
- if (tc->legacy_port) {
+ if (tc->mode == TC_PORT_LEGACY) {
drm_WARN_ON(&i915->drm, max_lanes != 4);
return true;
}
@@ -485,16 +485,15 @@ static bool icl_tc_phy_connect(struct intel_tc_port *tc,
if (tc->mode == TC_PORT_TBT_ALT)
return true;
- if (!tc_phy_is_ready(tc) &&
- !drm_WARN_ON(&i915->drm, tc->legacy_port)) {
- drm_dbg_kms(&i915->drm, "Port %s: PHY not ready\n",
- tc->port_name);
+ if ((!tc_phy_is_ready(tc) ||
+ !tc_phy_take_ownership(tc, true)) &&
+ !drm_WARN_ON(&i915->drm, tc->mode == TC_PORT_LEGACY)) {
+ drm_dbg_kms(&i915->drm, "Port %s: can't take PHY ownership (ready %s)\n",
+ tc->port_name,
+ str_yes_no(tc_phy_is_ready(tc)));
return false;
}
- if (!tc_phy_take_ownership(tc, true) &&
- !drm_WARN_ON(&i915->drm, tc->legacy_port))
- return false;
if (!tc_phy_verify_legacy_or_dp_alt_mode(tc, required_lanes))
goto out_release_phy;