On Fri, 02 Sep 2022, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > This reverts commit d5929835080a60f9119d024fa42f315913942f76. > > With the Parade PS8461E MUX workaround (WaEdpLinkRateDataReload) > implemented we can get finally rid of the is_low_voltage_sku() > check that incorrectly prevents many machines from using the > 8.1Gpbs link rate. > > Cc: Jason A. Donenfeld <Jason@xxxxxxxxx> > Cc: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx> > Cc: Jani Nikula <jani.nikula@xxxxxxxxx> > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5272 > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6323 > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Wonder if a Fixes tag is needed here. Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_dp.c | 32 +++---------------------- > 1 file changed, 3 insertions(+), 29 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index d4e037450ac5..dd7351c0bed1 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -389,23 +389,13 @@ static int dg2_max_source_rate(struct intel_dp *intel_dp) > return intel_dp_is_edp(intel_dp) ? 810000 : 1350000; > } > > -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy) > -{ > - u32 voltage; > - > - voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK; > - > - return voltage == VOLTAGE_INFO_0_85V; > -} > - > static int icl_max_source_rate(struct intel_dp *intel_dp) > { > struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); > struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); > enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port); > > - if (intel_phy_is_combo(dev_priv, phy) && > - (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp))) > + if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp)) > return 540000; > > return 810000; > @@ -413,23 +403,7 @@ static int icl_max_source_rate(struct intel_dp *intel_dp) > > static int ehl_max_source_rate(struct intel_dp *intel_dp) > { > - struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); > - struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); > - enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port); > - > - if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy)) > - return 540000; > - > - return 810000; > -} > - > -static int dg1_max_source_rate(struct intel_dp *intel_dp) > -{ > - struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); > - struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); > - enum phy phy = intel_port_to_phy(i915, dig_port->base.port); > - > - if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy)) > + if (intel_dp_is_edp(intel_dp)) > return 540000; > > return 810000; > @@ -491,7 +465,7 @@ intel_dp_set_source_rates(struct intel_dp *intel_dp) > max_rate = dg2_max_source_rate(intel_dp); > else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) || > IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv)) > - max_rate = dg1_max_source_rate(intel_dp); > + max_rate = 810000; > else if (IS_JSL_EHL(dev_priv)) > max_rate = ehl_max_source_rate(intel_dp); > else -- Jani Nikula, Intel Open Source Graphics Center