Commit b20a3749 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

cpufreq: intel_pstate: Eliminate some code duplication



To eliminate some code duplication from the intel_pstate driver,
move the core_get_val() function body to a new function called
get_perf_ctl_val() and make both core_get_val() and atom_get_val()
invoke it to carry out the same computation.

No intentional functional impact.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Link: https://patch.msgid.link/2829273.mvXUDI8C0e@rafael.j.wysocki
parent 62c95ea7
Loading
Loading
Loading
Loading
+14 −14
Original line number Diff line number Diff line
@@ -2048,6 +2048,18 @@ static void intel_pstate_hwp_enable(struct cpudata *cpudata)
	intel_pstate_update_epp_defaults(cpudata);
}

static u64 get_perf_ctl_val(int pstate)
{
	u64 val;

	val = (u64)pstate << 8;
	if (READ_ONCE(global.no_turbo) && !READ_ONCE(global.turbo_disabled) &&
	    cpu_feature_enabled(X86_FEATURE_IDA))
		val |= (u64)1 << 32;

	return val;
}

static int atom_get_min_pstate(int not_used)
{
	u64 value;
@@ -2074,15 +2086,10 @@ static int atom_get_turbo_pstate(int not_used)

static u64 atom_get_val(struct cpudata *cpudata, int pstate)
{
	u64 val;
	u64 val = get_perf_ctl_val(pstate);
	int32_t vid_fp;
	u32 vid;

	val = (u64)pstate << 8;
	if (READ_ONCE(global.no_turbo) && !READ_ONCE(global.turbo_disabled) &&
	    cpu_feature_enabled(X86_FEATURE_IDA))
		val |= (u64)1 << 32;

	vid_fp = cpudata->vid.min + mul_fp(
		int_tofp(pstate - cpudata->pstate.min_pstate),
		cpudata->vid.ratio);
@@ -2242,14 +2249,7 @@ static int core_get_turbo_pstate(int cpu)

static u64 core_get_val(struct cpudata *cpudata, int pstate)
{
	u64 val;

	val = (u64)pstate << 8;
	if (READ_ONCE(global.no_turbo) && !READ_ONCE(global.turbo_disabled) &&
	    cpu_feature_enabled(X86_FEATURE_IDA))
		val |= (u64)1 << 32;

	return val;
	return get_perf_ctl_val(pstate);
}

static int knl_get_aperf_mperf_shift(void)