Commit 78a574de authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915/dmc: simplify intel_dmc_load_program() conditions



intel_dmc_load_program() is only ever called when
intel_dmc_has_payload() is true. Move the condition within
intel_dmc_load_program() to let it be called directly.

Also note that intel_dmc_has_payload() will always return false when
HAS_DMC() is false. Remove the redundant check.

Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
Reviewed-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/c8ec46a44071f80b9c97617391b30e0c61ebc3e6.1647870374.git.jani.nikula@intel.com
parent 412c942b
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -5387,7 +5387,7 @@ static void skl_display_core_init(struct drm_i915_private *dev_priv,

	gen9_dbuf_enable(dev_priv);

	if (resume && intel_dmc_has_payload(dev_priv))
	if (resume)
		intel_dmc_load_program(dev_priv);
}

@@ -5454,7 +5454,7 @@ static void bxt_display_core_init(struct drm_i915_private *dev_priv, bool resume

	gen9_dbuf_enable(dev_priv);

	if (resume && intel_dmc_has_payload(dev_priv))
	if (resume)
		intel_dmc_load_program(dev_priv);
}

@@ -5618,7 +5618,7 @@ static void icl_display_core_init(struct drm_i915_private *dev_priv,
	if (IS_DG2(dev_priv))
		intel_snps_phy_wait_for_calibration(dev_priv);

	if (resume && intel_dmc_has_payload(dev_priv))
	if (resume)
		intel_dmc_load_program(dev_priv);

	/* Wa_14011508470:tgl,dg1,rkl,adl-s,adl-p */
+1 −10
Original line number Diff line number Diff line
@@ -276,17 +276,8 @@ void intel_dmc_load_program(struct drm_i915_private *dev_priv)
	struct intel_dmc *dmc = &dev_priv->dmc;
	u32 id, i;

	if (!HAS_DMC(dev_priv)) {
		drm_err(&dev_priv->drm,
			"No DMC support available for this platform\n");
		return;
	}

	if (!dev_priv->dmc.dmc_info[DMC_FW_MAIN].payload) {
		drm_err(&dev_priv->drm,
			"Tried to program CSR with empty payload\n");
	if (!intel_dmc_has_payload(dev_priv))
		return;
	}

	assert_rpm_wakelock_held(&dev_priv->runtime_pm);