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

Commit d7fa2589 authored by Thomas Renninger's avatar Thomas Renninger Committed by Len Brown
Browse files

Pull bugzilla-5737 into release branch

parents 6468463a 46f18e3a
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -418,8 +418,14 @@ acpi_cpufreq_cpu_init (
		goto err_free;

	perf = data->acpi_data;
	policy->cpus = perf->shared_cpu_map;
	policy->shared_type = perf->shared_type;
	/*
	 * Will let policy->cpus know about dependency only when software 
	 * coordination is required.
	 */
	if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL ||
	    policy->shared_type == CPUFREQ_SHARED_TYPE_ANY)
		policy->cpus = perf->shared_cpu_map;

	if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) {
		acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS;
+7 −1
Original line number Diff line number Diff line
@@ -399,8 +399,14 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy)
		dprintk(PFX "obtaining ACPI data failed\n");
		return -EIO;
	}
	policy->cpus = p->shared_cpu_map;
	policy->shared_type = p->shared_type;
	/*
	 * Will let policy->cpus know about dependency only when software 
	 * coordination is required.
	 */
	if (policy->shared_type == CPUFREQ_SHARED_TYPE_ALL ||
	    policy->shared_type == CPUFREQ_SHARED_TYPE_ANY)
		policy->cpus = p->shared_cpu_map;

	/* verify the acpi_data */
	if (p->state_count <= 1) {
+4 −4
Original line number Diff line number Diff line
@@ -691,12 +691,12 @@ int acpi_processor_preregister_performance(
		/* Validate the Domain info */
		count_target = pdomain->num_processors;
		count = 1;
		if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ALL ||
		    pdomain->coord_type == DOMAIN_COORD_TYPE_HW_ALL) {
		if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ALL)
			pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ALL;
		} else if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ANY) {
		else if (pdomain->coord_type == DOMAIN_COORD_TYPE_HW_ALL)
			pr->performance->shared_type = CPUFREQ_SHARED_TYPE_HW;
		else if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ANY)
			pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ANY;
		}

		for_each_possible_cpu(j) {
			if (i == j)
+4 −2
Original line number Diff line number Diff line
@@ -100,8 +100,10 @@ struct cpufreq_policy {
#define CPUFREQ_INCOMPATIBLE	(1)
#define CPUFREQ_NOTIFY		(2)

#define CPUFREQ_SHARED_TYPE_ALL	(0) /* All dependent CPUs should set freq */
#define CPUFREQ_SHARED_TYPE_ANY	(1) /* Freq can be set from any dependent CPU */
#define CPUFREQ_SHARED_TYPE_NONE (0) /* None */
#define CPUFREQ_SHARED_TYPE_HW	 (1) /* HW does needed coordination */
#define CPUFREQ_SHARED_TYPE_ALL	 (2) /* All dependent CPUs should set freq */
#define CPUFREQ_SHARED_TYPE_ANY	 (3) /* Freq can be set from any dependent CPU*/

/******************** cpufreq transition notifiers *******************/