Commit 452269e2 authored by Gustavo Sousa's avatar Gustavo Sousa Committed by Lucas De Marchi
Browse files

drm/i915/cdclk: Only compute squash waveform when necessary



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: default avatarMatt Roper <matthew.d.roper@intel.com>
Signed-off-by: default avatarGustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240312163639.172321-4-gustavo.sousa@intel.com


Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent 5372a54d
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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));