mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-29 02:19:54 -04:00
Merge tag 'pm-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm into master
Pull power management fixes from Rafael Wysocki: "Add missing handling of a command line switch to the intel_pstate driver (Rafael Wysocki) and fix the freeing of the operating performance point (OPP) entries for the legacy (v1) OPP table type (Walter Lozano)" * tag 'pm-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: opp: Increase parsed_static_opps in _of_add_opp_table_v1() cpufreq: intel_pstate: Fix active mode setting from command line
This commit is contained in:
@@ -2464,7 +2464,7 @@ static struct cpufreq_driver intel_cpufreq = {
|
||||
.name = "intel_cpufreq",
|
||||
};
|
||||
|
||||
static struct cpufreq_driver *default_driver = &intel_pstate;
|
||||
static struct cpufreq_driver *default_driver;
|
||||
|
||||
static void intel_pstate_driver_cleanup(void)
|
||||
{
|
||||
@@ -2758,6 +2758,7 @@ static int __init intel_pstate_init(void)
|
||||
hwp_active++;
|
||||
hwp_mode_bdw = id->driver_data;
|
||||
intel_pstate.attr = hwp_cpufreq_attrs;
|
||||
default_driver = &intel_pstate;
|
||||
goto hwp_cpu_matched;
|
||||
}
|
||||
} else {
|
||||
@@ -2775,7 +2776,8 @@ static int __init intel_pstate_init(void)
|
||||
return -ENODEV;
|
||||
}
|
||||
/* Without HWP start in the passive mode. */
|
||||
default_driver = &intel_cpufreq;
|
||||
if (!default_driver)
|
||||
default_driver = &intel_cpufreq;
|
||||
|
||||
hwp_cpu_matched:
|
||||
/*
|
||||
@@ -2820,6 +2822,8 @@ static int __init intel_pstate_setup(char *str)
|
||||
|
||||
if (!strcmp(str, "disable")) {
|
||||
no_load = 1;
|
||||
} else if (!strcmp(str, "active")) {
|
||||
default_driver = &intel_pstate;
|
||||
} else if (!strcmp(str, "passive")) {
|
||||
default_driver = &intel_cpufreq;
|
||||
no_hwp = 1;
|
||||
|
||||
@@ -902,6 +902,10 @@ static int _of_add_opp_table_v1(struct device *dev, struct opp_table *opp_table)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
mutex_lock(&opp_table->lock);
|
||||
opp_table->parsed_static_opps = 1;
|
||||
mutex_unlock(&opp_table->lock);
|
||||
|
||||
val = prop->value;
|
||||
while (nr) {
|
||||
unsigned long freq = be32_to_cpup(val++) * 1000;
|
||||
|
||||
Reference in New Issue
Block a user