drm/i915/cdclk: Only compute squash waveform when necessary
authorGustavo Sousa <gustavo.sousa@intel.com>
Tue, 12 Mar 2024 16:36:34 +0000 (13:36 -0300)
committerLucas De Marchi <lucas.demarchi@intel.com>
Wed, 13 Mar 2024 12:46:45 +0000 (05:46 -0700)
It is no use computing the squash waveform if we are not going to use
it. Move the call to cdclk_squash_waveform() inside the block guarded by
HAS_CDCLK_SQUASH(dev_priv).

v2:
  - Move "u16 waveform" declaration to inside the block where it is
    initialized and used. (Matt)

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240312163639.172321-4-gustavo.sousa@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/i915/display/intel_cdclk.c

index ad0f03e51e4a5f25dedef2a5faa9e90777045b47..354a9dba6440205ed9ac71bff32b8d10415d2ca0 100644 (file)
@@ -2006,7 +2006,6 @@ static void _bxt_set_cdclk(struct drm_i915_private *dev_priv,
 {
        int cdclk = cdclk_config->cdclk;
        int vco = cdclk_config->vco;
-       u16 waveform;
 
        if (HAS_CDCLK_CRAWL(dev_priv) && dev_priv->display.cdclk.hw.vco > 0 && vco > 0 &&
            !cdclk_pll_is_unknown(dev_priv->display.cdclk.hw.vco)) {
@@ -2021,10 +2020,11 @@ static void _bxt_set_cdclk(struct drm_i915_private *dev_priv,
        } else
                bxt_cdclk_pll_update(dev_priv, vco);
 
-       waveform = cdclk_squash_waveform(dev_priv, cdclk);
+       if (HAS_CDCLK_SQUASH(dev_priv)) {
+               u16 waveform = cdclk_squash_waveform(dev_priv, cdclk);
 
-       if (HAS_CDCLK_SQUASH(dev_priv))
                dg2_cdclk_squash_program(dev_priv, waveform);
+       }
 
        intel_de_write(dev_priv, CDCLK_CTL, bxt_cdclk_ctl(dev_priv, cdclk_config, pipe));