On Fri, 02 Sep 2022, Ville Syrjala <[email protected]> wrote:
> From: Ville Syrjälä <[email protected]>
>
> 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 <[email protected]>
> Cc: Ankit Nautiyal <[email protected]>
> Cc: Jani Nikula <[email protected]>
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5272
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6323
> Signed-off-by: Ville Syrjälä <[email protected]>

Wonder if a Fixes tag is needed here.

Reviewed-by: Jani Nikula <[email protected]>

> ---
>  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

Reply via email to