[PATCH 0/8] cppc_cpufreq: fix, clarify and improve support

From: Ionela Voinescu
Date: Thu Nov 05 2020 - 07:56:37 EST


Hi guys,

I found myself staring a bit too much at this driver in the past weeks
and that's likely the cause for me coming up with this series of 8
patches that cleans up, clarifies and reworks parts of it, as follows:

- patches 1-3/8: trivial clean-up and renaming with the purpose to
improve readability
- patch 4/8: replace previous per-cpu data structures with lists of
domains and CPUs to get more efficient storage for driver
data and fix previous issues in case of CPU hotplugging,
as discussed at [1].
- patches 5-6/8: a few fixes and clarifications: mostly making sure
the behavior described in the comments and debug
messages matches the code and there is clear
indication of what is supported and how.
- patch 7/8: use the existing freqdomains_cpus attribute to inform
the user on frequency domains.
- patch 8/8: acpi: replace ALL coordination with NONE coordination
when errors are find parsing the _PSD domains
(as described in the comments in the code).

Hopefully you'll find this useful for ease of maintenance and ease of
future development of the driver.

This functionality was tested on a Juno platform with modified _PSD
tables to test the functionality for all currently supported
coordination types: ANY, HW, NONE.

The current code is based on v5.10-rc2.

Thanks,
Ionela.

[1] https://lore.kernel.org/linux-pm/20200922162540.GB796@xxxxxxx/

Ionela Voinescu (8):
cppc_cpufreq: fix misspelling, code style and readability issues
cppc_cpufreq: clean up cpu, cpu_num and cpunum variable use
cppc_cpufreq: simplify use of performance capabilities
cppc_cpufreq: replace per-cpu structures with lists
cppc_cpufreq: use policy->cpu as driver of frequency setting
cppc_cpufreq: clarify support for coordination types
cppc_cpufreq: expose information on frequency domains
acpi: fix NONE coordination for domain mapping failure

.../ABI/testing/sysfs-devices-system-cpu | 3 +-
drivers/acpi/cppc_acpi.c | 126 +++---
drivers/acpi/processor_perflib.c | 2 +-
drivers/cpufreq/cppc_cpufreq.c | 358 +++++++++++-------
include/acpi/cppc_acpi.h | 14 +-
5 files changed, 277 insertions(+), 226 deletions(-)

--
2.17.1