Skip to content

Commit

Permalink
Merge tag 'pm-5.8-rc6' of git://git.kernel.org/pub/scm/linux/kernel/g…
Browse files Browse the repository at this point in the history
…it/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
  • Loading branch information
Linus Torvalds committed Jul 16, 2020
2 parents 3e543a4 + 1740f21 commit 07a56bb
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/cpufreq/intel_pstate.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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 {
Expand All @@ -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:
/*
Expand Down Expand Up @@ -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;
Expand Down
4 changes: 4 additions & 0 deletions drivers/opp/of.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 07a56bb

Please sign in to comment.