Commit c396f647 authored by Jie Liu's avatar Jie Liu
Browse files

cppc_acpi: add acpi_cpc_valid for determining _CPC is valid

kunpeng inclusion
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I7C2TX


CVE: NA

----------------------------------------------------------------------

Add acpi_cpc_valid for determining _CPC is valid.

Signed-off-by: default avatarJie Liu <liujie375@h-partners.com>
parent f54cc993
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -405,6 +405,21 @@ static int acpi_get_psd(struct cpc_desc *cpc_ptr, acpi_handle handle)
	return result;
}

bool acpi_cpc_valid(void)
{
	struct cpc_desc *cpc_ptr;
	int cpu;

	for_each_possible_cpu(cpu) {
		cpc_ptr = per_cpu(cpc_desc_ptr, cpu);
		if (!cpc_ptr)
			return false;
	}

	return true;
}
EXPORT_SYMBOL_GPL(acpi_cpc_valid);

/**
 * acpi_get_psd_map - Map the CPUs in a common freq domain.
 * @all_cpu_data: Ptrs to CPU specific CPPC data including PSD info.
+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@ extern int cppc_get_perf_ctrs(int cpu, struct cppc_perf_fb_ctrs *perf_fb_ctrs);
extern int cppc_set_perf(int cpu, struct cppc_perf_ctrls *perf_ctrls);
extern int cppc_get_perf_caps(int cpu, struct cppc_perf_caps *caps);
extern int acpi_get_psd_map(struct cppc_cpudata **);
extern bool acpi_cpc_valid(void);
extern unsigned int cppc_get_transition_latency(int cpu);
extern bool cpc_ffh_supported(void);
extern int cpc_read_ffh(int cpunum, struct cpc_reg *reg, u64 *val);