]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/i915/display: Move chunks of code out of bxt_set_cdclk()
authorAnusha Srivatsa <anusha.srivatsa@intel.com>
Tue, 25 Oct 2022 22:30:41 +0000 (15:30 -0700)
committerAnusha Srivatsa <anusha.srivatsa@intel.com>
Wed, 26 Oct 2022 20:45:05 +0000 (13:45 -0700)
No functional change. Moving segments out to simplify
bxt_set_cdlck()

v2: s/bxt_cdclk_pll/bxt_cdclk_pll_update (Jani)

Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Reviewed-by: Balasubramani Vivekanandan <balasubramani.vivekanandan@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221025223042.138810-3-anusha.srivatsa@intel.com
drivers/gpu/drm/i915/display/intel_cdclk.c

index 45babbc6290f201976eed452bc40cb4cc93afce5..9cd02b85ee51789c4fd2f7a8a4fd02ecd2fc2b2a 100644 (file)
@@ -1684,6 +1684,26 @@ static u32 cdclk_squash_waveform(struct drm_i915_private *dev_priv,
        return 0xffff;
 }
 
+static void icl_cdclk_pll_update(struct drm_i915_private *i915, int vco)
+{
+       if (i915->display.cdclk.hw.vco != 0 &&
+           i915->display.cdclk.hw.vco != vco)
+               icl_cdclk_pll_disable(i915);
+
+       if (i915->display.cdclk.hw.vco != vco)
+               icl_cdclk_pll_enable(i915, vco);
+}
+
+static void bxt_cdclk_pll_update(struct drm_i915_private *i915, int vco)
+{
+       if (i915->display.cdclk.hw.vco != 0 &&
+           i915->display.cdclk.hw.vco != vco)
+               bxt_de_pll_disable(i915);
+
+       if (i915->display.cdclk.hw.vco != vco)
+               bxt_de_pll_enable(i915, vco);
+}
+
 static void bxt_set_cdclk(struct drm_i915_private *dev_priv,
                          const struct intel_cdclk_config *cdclk_config,
                          enum pipe pipe)
@@ -1719,21 +1739,10 @@ static void bxt_set_cdclk(struct drm_i915_private *dev_priv,
        if (HAS_CDCLK_CRAWL(dev_priv) && dev_priv->display.cdclk.hw.vco > 0 && vco > 0) {
                if (dev_priv->display.cdclk.hw.vco != vco)
                        adlp_cdclk_pll_crawl(dev_priv, vco);
-       } else if (DISPLAY_VER(dev_priv) >= 11) {
-               if (dev_priv->display.cdclk.hw.vco != 0 &&
-                   dev_priv->display.cdclk.hw.vco != vco)
-                       icl_cdclk_pll_disable(dev_priv);
-
-               if (dev_priv->display.cdclk.hw.vco != vco)
-                       icl_cdclk_pll_enable(dev_priv, vco);
-       } else {
-               if (dev_priv->display.cdclk.hw.vco != 0 &&
-                   dev_priv->display.cdclk.hw.vco != vco)
-                       bxt_de_pll_disable(dev_priv);
-
-               if (dev_priv->display.cdclk.hw.vco != vco)
-                       bxt_de_pll_enable(dev_priv, vco);
-       }
+       } else if (DISPLAY_VER(dev_priv) >= 11)
+               icl_cdclk_pll_update(dev_priv, vco);
+       else
+               bxt_cdclk_pll_update(dev_priv, vco);
 
        waveform = cdclk_squash_waveform(dev_priv, cdclk);