Modularising steps and moving them out of
bxt_set_cdclk().

Signed-off-by: Anusha Srivatsa <anusha.sriva...@intel.com>
---
 drivers/gpu/drm/i915/display/intel_cdclk.c | 23 +++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c 
b/drivers/gpu/drm/i915/display/intel_cdclk.c
index ed05070b7307..220d32adbd12 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -1689,6 +1689,18 @@ static u32 cdclk_squash_waveform(struct drm_i915_private 
*dev_priv,
        return 0xffff;
 }
 
+static void dg2_prog_squash_ctl(struct drm_i915_private *i915, u16 waveform)
+{
+       u32 squash_ctl = 0;
+
+       if (waveform) {
+               squash_ctl |= CDCLK_SQUASH_ENABLE;
+               squash_ctl |= CDCLK_SQUASH_WINDOW_SIZE(0xf) | waveform;
+       }
+
+       intel_de_write(i915, CDCLK_SQUASH_CTL, squash_ctl);
+}
+
 static void bxt_set_cdclk(struct drm_i915_private *dev_priv,
                          const struct intel_cdclk_config *cdclk_config,
                          enum pipe pipe)
@@ -1747,15 +1759,8 @@ static void bxt_set_cdclk(struct drm_i915_private 
*dev_priv,
        else
                clock = cdclk;
 
-       if (has_cdclk_squasher(dev_priv)) {
-               u32 squash_ctl = 0;
-
-               if (waveform)
-                       squash_ctl = CDCLK_SQUASH_ENABLE |
-                               CDCLK_SQUASH_WINDOW_SIZE(0xf) | waveform;
-
-               intel_de_write(dev_priv, CDCLK_SQUASH_CTL, squash_ctl);
-       }
+       if (has_cdclk_squasher(dev_priv))
+               dg2_prog_squash_ctl(dev_priv, waveform);
 
        val = bxt_cdclk_cd2x_div_sel(dev_priv, clock, vco) |
                bxt_cdclk_cd2x_pipe(dev_priv, pipe) |
-- 
2.25.1

Reply via email to