On Tue, 22 Oct 2024 18:41:26 +0000 Sivaprasad Tummala <sivaprasad.tumm...@amd.com> wrote:
> This patchset refactors the power management library, addressing both > core and uncore power management. The primary changes involve the > creation of dedicated directories for each driver within > 'drivers/power/core/*' and 'drivers/power/uncore/*'. > > This refactor significantly improves code organization, enhances > clarity, and boosts maintainability. It lays the foundation for more > focused development on individual drivers and facilitates seamless > integration of future enhancements, particularly the AMD uncore driver. > > Furthermore, this effort aims to streamline code maintenance by > consolidating common functions for cpufreq and cppc across various > core drivers, thus reducing code duplication. > > Sivaprasad Tummala (6): > power: refactor core power management library > power: refactor uncore power management library > test/power: removed function pointer validations > drivers/power: uncore support for AMD EPYC processors > maintainers: update for drivers/power > power: rename library sources for cpu frequency management > > MAINTAINERS | 1 + > app/test/test_power.c | 97 +----- > app/test/test_power_cpufreq.c | 54 +-- > app/test/test_power_kvm_vm.c | 38 +- > drivers/meson.build | 1 + > .../power/acpi/acpi_cpufreq.c | 22 +- > .../power/acpi/acpi_cpufreq.h | 6 +- > drivers/power/acpi/meson.build | 10 + > .../power/amd_pstate/amd_pstate_cpufreq.c | 24 +- > .../power/amd_pstate/amd_pstate_cpufreq.h | 10 +- > drivers/power/amd_pstate/meson.build | 10 + > drivers/power/amd_uncore/amd_uncore.c | 329 ++++++++++++++++++ > drivers/power/amd_uncore/amd_uncore.h | 225 ++++++++++++ > drivers/power/amd_uncore/meson.build | 20 ++ > .../power/cppc/cppc_cpufreq.c | 22 +- > .../power/cppc/cppc_cpufreq.h | 8 +- > drivers/power/cppc/meson.build | 10 + > .../power/intel_uncore/intel_uncore.c | 18 +- > .../power/intel_uncore/intel_uncore.h | 9 +- > drivers/power/intel_uncore/meson.build | 6 + > .../power/kvm_vm}/guest_channel.c | 2 +- > .../power/kvm_vm}/guest_channel.h | 0 > .../power/kvm_vm/kvm_vm.c | 22 +- > .../power/kvm_vm/kvm_vm.h | 6 +- > drivers/power/kvm_vm/meson.build | 14 + > drivers/power/meson.build | 14 + > drivers/power/pstate/meson.build | 10 + > .../power/pstate/pstate_cpufreq.c | 22 +- > .../power/pstate/pstate_cpufreq.h | 6 +- > examples/distributor/main.c | 2 +- > examples/l3fwd-power/main.c | 14 +- > examples/l3fwd-power/perf_core.c | 2 +- > examples/vm_power_manager/channel_monitor.c | 2 +- > examples/vm_power_manager/channel_monitor.h | 2 +- > examples/vm_power_manager/guest_cli/main.c | 2 +- > .../guest_cli/vm_power_cli_guest.c | 2 +- > examples/vm_power_manager/power_manager.c | 2 +- > lib/power/meson.build | 13 +- > lib/power/power_common.c | 2 +- > lib/power/power_common.h | 18 +- > lib/power/power_cpufreq.h | 191 ++++++++++ > lib/power/power_uncore_ops.h | 244 +++++++++++++ > lib/power/rte_power.c | 257 -------------- > lib/power/rte_power_cpufreq.c | 230 ++++++++++++ > .../{rte_power.h => rte_power_cpufreq.h} | 120 ++++--- > lib/power/rte_power_pmd_mgmt.h | 2 +- > lib/power/rte_power_uncore.c | 256 +++++++------- > lib/power/rte_power_uncore.h | 61 ++-- > lib/power/version.map | 15 + > 49 files changed, 1746 insertions(+), 707 deletions(-) > rename lib/power/power_acpi_cpufreq.c => drivers/power/acpi/acpi_cpufreq.c > (95%) > rename lib/power/power_acpi_cpufreq.h => drivers/power/acpi/acpi_cpufreq.h > (98%) > create mode 100644 drivers/power/acpi/meson.build > rename lib/power/power_amd_pstate_cpufreq.c => > drivers/power/amd_pstate/amd_pstate_cpufreq.c (95%) > rename lib/power/power_amd_pstate_cpufreq.h => > drivers/power/amd_pstate/amd_pstate_cpufreq.h (96%) > create mode 100644 drivers/power/amd_pstate/meson.build > create mode 100644 drivers/power/amd_uncore/amd_uncore.c > create mode 100644 drivers/power/amd_uncore/amd_uncore.h > create mode 100644 drivers/power/amd_uncore/meson.build > rename lib/power/power_cppc_cpufreq.c => drivers/power/cppc/cppc_cpufreq.c > (95%) > rename lib/power/power_cppc_cpufreq.h => drivers/power/cppc/cppc_cpufreq.h > (97%) > create mode 100644 drivers/power/cppc/meson.build > rename lib/power/power_intel_uncore.c => > drivers/power/intel_uncore/intel_uncore.c (95%) > rename lib/power/power_intel_uncore.h => > drivers/power/intel_uncore/intel_uncore.h (97%) > create mode 100644 drivers/power/intel_uncore/meson.build > rename {lib/power => drivers/power/kvm_vm}/guest_channel.c (99%) > rename {lib/power => drivers/power/kvm_vm}/guest_channel.h (100%) > rename lib/power/power_kvm_vm.c => drivers/power/kvm_vm/kvm_vm.c (82%) > rename lib/power/power_kvm_vm.h => drivers/power/kvm_vm/kvm_vm.h (98%) > create mode 100644 drivers/power/kvm_vm/meson.build > create mode 100644 drivers/power/meson.build > create mode 100644 drivers/power/pstate/meson.build > rename lib/power/power_pstate_cpufreq.c => > drivers/power/pstate/pstate_cpufreq.c (96%) > rename lib/power/power_pstate_cpufreq.h => > drivers/power/pstate/pstate_cpufreq.h (98%) > create mode 100644 lib/power/power_cpufreq.h > create mode 100644 lib/power/power_uncore_ops.h > delete mode 100644 lib/power/rte_power.c > create mode 100644 lib/power/rte_power_cpufreq.c > rename lib/power/{rte_power.h => rte_power_cpufreq.h} (73%) > This has some issues with documentation. $ ninja -C build doc ninja: Entering directory `build' [3/6] Generating doc/api/doxygen-html with a custom command /home/shemminger/DPDK/power/doc/api/doxy-api-index.md:105: warning: unable to resolve reference to 'rte_power.h' for \ref command [5/6] Running external command doc (wrapped by meson to set env) Building docs: Doxygen_API(HTML) Doxygen_API(Manpage) DTS_API_HTML HTML_Guides