Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 616bc820 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Daniel Vetter
Browse files

drm/i915: Add intel_gpu_freq() and intel_freq_opcode()



Rename the vlv_gpu_freq() and vlv_freq_opecode() functions to have
an intel_ prefix, and handle non-VLV/CHV platforms in them as well.
Leave the vlv_ names around for now since they're currently used.

Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent c8c972eb
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -3234,6 +3234,8 @@ void intel_sbi_write(struct drm_i915_private *dev_priv, u16 reg, u32 value,
u32 vlv_flisdsi_read(struct drm_i915_private *dev_priv, u32 reg);
void vlv_flisdsi_write(struct drm_i915_private *dev_priv, u32 reg, u32 val);

int intel_gpu_freq(struct drm_i915_private *dev_priv, int val);
int intel_freq_opcode(struct drm_i915_private *dev_priv, int val);
int vlv_gpu_freq(struct drm_i915_private *dev_priv, int val);
int vlv_freq_opcode(struct drm_i915_private *dev_priv, int val);

+18 −12
Original line number Diff line number Diff line
@@ -6615,28 +6615,34 @@ static int chv_freq_opcode(struct drm_i915_private *dev_priv, int val)
	return DIV_ROUND_CLOSEST(val * 2 * mul, czclk_freq) * 2;
}

int vlv_gpu_freq(struct drm_i915_private *dev_priv, int val)
int intel_gpu_freq(struct drm_i915_private *dev_priv, int val)
{
	int ret = -1;

	if (IS_CHERRYVIEW(dev_priv->dev))
		ret = chv_gpu_freq(dev_priv, val);
		return chv_gpu_freq(dev_priv, val);
	else if (IS_VALLEYVIEW(dev_priv->dev))
		ret = byt_gpu_freq(dev_priv, val);

	return ret;
		return byt_gpu_freq(dev_priv, val);
	else
		return val * GT_FREQUENCY_MULTIPLIER;
}

int vlv_freq_opcode(struct drm_i915_private *dev_priv, int val)
int vlv_gpu_freq(struct drm_i915_private *dev_priv, int val)
{
	int ret = -1;
	return intel_gpu_freq(dev_priv, val);
}

int intel_freq_opcode(struct drm_i915_private *dev_priv, int val)
{
	if (IS_CHERRYVIEW(dev_priv->dev))
		ret = chv_freq_opcode(dev_priv, val);
		return chv_freq_opcode(dev_priv, val);
	else if (IS_VALLEYVIEW(dev_priv->dev))
		ret = byt_freq_opcode(dev_priv, val);
		return byt_freq_opcode(dev_priv, val);
	else
		return val / GT_FREQUENCY_MULTIPLIER;
}

	return ret;
int vlv_freq_opcode(struct drm_i915_private *dev_priv, int val)
{
	return intel_freq_opcode(dev_priv, val);
}

void intel_pm_setup(struct drm_device *dev)