ACPI: processor: Add QoS requests for all CPUs
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 25 Oct 2019 00:41:40 +0000 (02:41 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 25 Oct 2019 09:33:48 +0000 (11:33 +0200)
commita1bb46c36ce389d4a24a42e5b6047b0626caa3ea
tree26c9929b77ee92690a6744308e51ebd99c3f755c
parent6941051d3028963c3b0b3fcdd0815f2b51b957bb
ACPI: processor: Add QoS requests for all CPUs

The _PPC change notifications from the platform firmware are per-CPU,
so acpi_processor_ppc_init() needs to add a frequency QoS request
for each CPU covered by a cpufreq policy to take all of them into
account.

Even though ACPI thermal control of CPUs sets frequency limits
per processor package, it also needs a frequency QoS request for each
CPU in a cpufreq policy in case some of them are taken offline and
the frequency limit needs to be set through the remaining online
ones (this is slightly excessive, because all CPUs covered by one
cpufreq policy will set the same frequency limit through their QoS
requests, but it is not incorrect).

Modify the code in accordance with the above observations.

Fixes: d15ce412737a ("ACPI: cpufreq: Switch to QoS requests instead of cpufreq notifier")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/acpi/processor_perflib.c
drivers/acpi/processor_thermal.c