Hi, David Hunt,

Kindly ping. Could you please take a look at this patch?

Thanks,
Jie Hai

On 2023/1/31 10:58, Jie Hai wrote:
Currently the l3fwd-power only supports ACPI cpufreq and Pstate
cpufreq, This patch adds CPPC cpufreq.

Signed-off-by: Jie Hai <haij...@huawei.com>
---
  examples/l3fwd-power/main.c | 9 ++++++---
  1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index fd3ade330f82..5090d5598172 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -2453,9 +2453,10 @@ init_power_library(void)
                /* we're not supporting the VM channel mode */
                env = rte_power_get_env();
                if (env != PM_ENV_ACPI_CPUFREQ &&
-                               env != PM_ENV_PSTATE_CPUFREQ) {
+                               env != PM_ENV_PSTATE_CPUFREQ &&
+                               env != PM_ENV_CPPC_CPUFREQ) {
                        RTE_LOG(ERR, POWER,
-                               "Only ACPI and PSTATE mode are supported\n");
+                               "Only ACPI, PSTATE and CPPC mode are 
supported\n");
                        return -1;
                }
        }
@@ -2639,12 +2640,14 @@ autodetect_mode(void)
        /*
         * Empty poll and telemetry modes have to be specifically requested to
         * be enabled, but we can auto-detect between interrupt mode with or
-        * without frequency scaling. Both ACPI and pstate can be used.
+        * without frequency scaling. Any of ACPI, pstate and CPPC can be used.
         */
        if (rte_power_check_env_supported(PM_ENV_ACPI_CPUFREQ))
                return APP_MODE_LEGACY;
        if (rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ))
                return APP_MODE_LEGACY;
+       if (rte_power_check_env_supported(PM_ENV_CPPC_CPUFREQ))
+               return APP_MODE_LEGACY;
RTE_LOG(NOTICE, L3FWD_POWER, "Frequency scaling not supported, selecting interrupt-only mode\n");

Reply via email to