cpufreq: intel_pstate: Fix intel_cpufreq_verify_policy()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 2 Mar 2017 22:24:36 +0000 (23:24 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 4 Mar 2017 00:38:41 +0000 (01:38 +0100)
commit7f17326fc0b69afbda7aed6c4ce8e2328b74203b
treeddf4c99dc076ab9fcb884f1a73f30d3475680109
parent2bc756e7dde20972300bb8e2e46dd430d6d2d5db
cpufreq: intel_pstate: Fix intel_cpufreq_verify_policy()

The intel_pstate_update_perf_limits() called from
intel_cpufreq_verify_policy() may cause global P-state limits
to change which is generally confusing and unnecessary.

In the passive mode the global limits are only applied to the
frequency selected by the scaling governor (they are not taken
into account by governors when making decisions anyway), so making
them follow the per-policy limits serves no purpose and may go
against user expectations (as it generally causes the global
attributes in sysfs to change even though they have not been
written to in some cases).

Fix that by dropping the intel_pstate_update_perf_limits()
invocation from intel_cpufreq_verify_policy() (which also
reduces the code size by a few lines).

This change does not affect the per-CPU limits case, because those
limits allow any P-state to be set by default in the passive mode
and it removes the only piece of code updating them in that mode,
so the per-policy settings will be the only ones taken into account
in that case as expected.

Fixes: 001c76f05b01 (cpufreq: intel_pstate: Generic governors support)
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/intel_pstate.c