[PATCH 16/17] drm/i915/ddi: Move platform/encoder checks within adlp_tbt_to_dp_alt_switch_wa()
Imre Deak
imre.deak at intel.com
Wed Jan 29 20:02:20 UTC 2025
From: Imre Deak <imre.deak at gmail.com>
The prefix of adlp_tbt_to_dp_alt_switch_wa() function name shows already
what is the relevant platform and encoder type/mode, so the
corresponding checks are a detail that can be hidden in the
function, do so.
Signed-off-by: Imre Deak <imre.deak at gmail.com>
---
drivers/gpu/drm/i915/display/intel_ddi.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
index 431db1e6b6f07..a2d82a4c4aa77 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi.c
@@ -3699,10 +3699,16 @@ intel_ddi_pre_pll_enable(struct intel_atomic_state *state,
static void adlp_tbt_to_dp_alt_switch_wa(struct intel_encoder *encoder)
{
+ struct intel_display *display = to_intel_display(encoder);
struct drm_i915_private *i915 = to_i915(encoder->base.dev);
+ struct intel_digital_port *dig_port = enc_to_dig_port(encoder);
enum tc_port tc_port = intel_encoder_to_tc(encoder);
int ln;
+ if (!display->platform.alderlake_p ||
+ (!intel_tc_port_in_dp_alt_mode(dig_port) && !intel_tc_port_in_legacy_mode(dig_port)))
+ return;
+
for (ln = 0; ln < 2; ln++)
intel_dkl_phy_rmw(i915, DKL_PCS_DW5(tc_port, ln), DKL_PCS_DW5_CORE_SOFTRESET, 0);
}
@@ -3777,9 +3783,7 @@ static void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp,
intel_de_write(dev_priv, dp_tp_ctl_reg(encoder, crtc_state), dp_tp_ctl);
intel_de_posting_read(dev_priv, dp_tp_ctl_reg(encoder, crtc_state));
- if (IS_ALDERLAKE_P(dev_priv) &&
- (intel_tc_port_in_dp_alt_mode(dig_port) || intel_tc_port_in_legacy_mode(dig_port)))
- adlp_tbt_to_dp_alt_switch_wa(encoder);
+ adlp_tbt_to_dp_alt_switch_wa(encoder);
intel_enable_ddi_buf(encoder, intel_dp->DP);
intel_dp->DP |= DDI_BUF_CTL_ENABLE;
--
2.44.2
More information about the Intel-xe
mailing list