Pull bugzilla-5737 into release branch
This commit is contained in:
commit
d7fa2589bb
@ -418,8 +418,14 @@ acpi_cpufreq_cpu_init (
|
|||||||
goto err_free;
|
goto err_free;
|
||||||
|
|
||||||
perf = data->acpi_data;
|
perf = data->acpi_data;
|
||||||
policy->cpus = perf->shared_cpu_map;
|
|
||||||
policy->shared_type = perf->shared_type;
|
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)) {
|
if (cpu_has(c, X86_FEATURE_CONSTANT_TSC)) {
|
||||||
acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS;
|
acpi_cpufreq_driver.flags |= CPUFREQ_CONST_LOOPS;
|
||||||
|
@ -399,8 +399,14 @@ static int centrino_cpu_init_acpi(struct cpufreq_policy *policy)
|
|||||||
dprintk(PFX "obtaining ACPI data failed\n");
|
dprintk(PFX "obtaining ACPI data failed\n");
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
policy->cpus = p->shared_cpu_map;
|
|
||||||
policy->shared_type = p->shared_type;
|
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 */
|
/* verify the acpi_data */
|
||||||
if (p->state_count <= 1) {
|
if (p->state_count <= 1) {
|
||||||
|
@ -691,12 +691,12 @@ int acpi_processor_preregister_performance(
|
|||||||
/* Validate the Domain info */
|
/* Validate the Domain info */
|
||||||
count_target = pdomain->num_processors;
|
count_target = pdomain->num_processors;
|
||||||
count = 1;
|
count = 1;
|
||||||
if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ALL ||
|
if (pdomain->coord_type == DOMAIN_COORD_TYPE_SW_ALL)
|
||||||
pdomain->coord_type == DOMAIN_COORD_TYPE_HW_ALL) {
|
|
||||||
pr->performance->shared_type = CPUFREQ_SHARED_TYPE_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;
|
pr->performance->shared_type = CPUFREQ_SHARED_TYPE_ANY;
|
||||||
}
|
|
||||||
|
|
||||||
for_each_possible_cpu(j) {
|
for_each_possible_cpu(j) {
|
||||||
if (i == j)
|
if (i == j)
|
||||||
|
@ -100,8 +100,10 @@ struct cpufreq_policy {
|
|||||||
#define CPUFREQ_INCOMPATIBLE (1)
|
#define CPUFREQ_INCOMPATIBLE (1)
|
||||||
#define CPUFREQ_NOTIFY (2)
|
#define CPUFREQ_NOTIFY (2)
|
||||||
|
|
||||||
#define CPUFREQ_SHARED_TYPE_ALL (0) /* All dependent CPUs should set freq */
|
#define CPUFREQ_SHARED_TYPE_NONE (0) /* None */
|
||||||
#define CPUFREQ_SHARED_TYPE_ANY (1) /* Freq can be set from any dependent CPU */
|
#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 *******************/
|
/******************** cpufreq transition notifiers *******************/
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user