drm/i915: Reuse cnl_modeset_calc_cdclk() on icl+
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 11 Sep 2019 13:31:28 +0000 (16:31 +0300)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 12 Sep 2019 09:42:39 +0000 (10:42 +0100)
The cnl and icl .modeset_calc_cdclk() functions are identical. Drop one
copy.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190911133129.27466-3-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_cdclk.c

index d838c34..3bc7047 100644 (file)
@@ -2227,39 +2227,6 @@ static int cnl_modeset_calc_cdclk(struct intel_atomic_state *state)
        cdclk = bxt_calc_cdclk(dev_priv, min_cdclk);
        vco = bxt_calc_cdclk_pll_vco(dev_priv, cdclk);
 
-       state->cdclk.logical.vco = vco;
-       state->cdclk.logical.cdclk = cdclk;
-       state->cdclk.logical.voltage_level =
-               max(cnl_calc_voltage_level(cdclk),
-                   cnl_compute_min_voltage_level(state));
-
-       if (!state->active_pipes) {
-               cdclk = bxt_calc_cdclk(dev_priv, state->cdclk.force_min_cdclk);
-               vco = bxt_calc_cdclk_pll_vco(dev_priv, cdclk);
-
-               state->cdclk.actual.vco = vco;
-               state->cdclk.actual.cdclk = cdclk;
-               state->cdclk.actual.voltage_level =
-                       cnl_calc_voltage_level(cdclk);
-       } else {
-               state->cdclk.actual = state->cdclk.logical;
-       }
-
-       return 0;
-}
-
-static int icl_modeset_calc_cdclk(struct intel_atomic_state *state)
-{
-       struct drm_i915_private *dev_priv = to_i915(state->base.dev);
-       int min_cdclk, cdclk, vco;
-
-       min_cdclk = intel_compute_min_cdclk(state);
-       if (min_cdclk < 0)
-               return min_cdclk;
-
-       cdclk = bxt_calc_cdclk(dev_priv, min_cdclk);
-       vco = bxt_calc_cdclk_pll_vco(dev_priv, cdclk);
-
        state->cdclk.logical.vco = vco;
        state->cdclk.logical.cdclk = cdclk;
        state->cdclk.logical.voltage_level =
@@ -2499,12 +2466,12 @@ void intel_init_cdclk_hooks(struct drm_i915_private *dev_priv)
 {
        if (IS_ELKHARTLAKE(dev_priv)) {
                dev_priv->display.set_cdclk = bxt_set_cdclk;
-               dev_priv->display.modeset_calc_cdclk = icl_modeset_calc_cdclk;
+               dev_priv->display.modeset_calc_cdclk = cnl_modeset_calc_cdclk;
                dev_priv->display.calc_voltage_level = ehl_calc_voltage_level;
                dev_priv->cdclk.table = icl_cdclk_table;
        } else if (INTEL_GEN(dev_priv) >= 11) {
                dev_priv->display.set_cdclk = bxt_set_cdclk;
-               dev_priv->display.modeset_calc_cdclk = icl_modeset_calc_cdclk;
+               dev_priv->display.modeset_calc_cdclk = cnl_modeset_calc_cdclk;
                dev_priv->display.calc_voltage_level = icl_calc_voltage_level;
                dev_priv->cdclk.table = icl_cdclk_table;
        } else if (IS_CANNONLAKE(dev_priv)) {