[PATCH 2/2] eal: detect supported driver
Wathsala Vithanage
wathsala.vithanage at arm.com
Fri Sep 6 23:06:37 CEST 2024
Check if the frequency scaling driver is supported before attempting
to initialize.
Signed-off-by: Wathsala Vithanage <wathsala.vithanage at arm.com>
Reviewed-by: Dhruv Tripathi <dhruv.tripathi at arm.com>
---
lib/power/power_acpi_cpufreq.c | 6 ++++++
lib/power/power_amd_pstate_cpufreq.c | 6 ++++++
lib/power/power_cppc_cpufreq.c | 6 ++++++
lib/power/power_pstate_cpufreq.c | 6 ++++++
4 files changed, 24 insertions(+)
diff --git a/lib/power/power_acpi_cpufreq.c b/lib/power/power_acpi_cpufreq.c
index 81996e1c13..abad53bef1 100644
--- a/lib/power/power_acpi_cpufreq.c
+++ b/lib/power/power_acpi_cpufreq.c
@@ -236,6 +236,12 @@ power_acpi_cpufreq_init(unsigned int lcore_id)
struct acpi_power_info *pi;
uint32_t exp_state;
+ if (!power_acpi_cpufreq_check_supported()) {
+ POWER_LOG(ERR, "%s driver is not supported",
+ POWER_ACPI_DRIVER);
+ return -1;
+ }
+
if (lcore_id >= RTE_MAX_LCORE) {
POWER_LOG(ERR, "Lcore id %u can not exceeds %u",
lcore_id, RTE_MAX_LCORE - 1U);
diff --git a/lib/power/power_amd_pstate_cpufreq.c b/lib/power/power_amd_pstate_cpufreq.c
index 090a0d96cb..4809d45a22 100644
--- a/lib/power/power_amd_pstate_cpufreq.c
+++ b/lib/power/power_amd_pstate_cpufreq.c
@@ -354,6 +354,12 @@ power_amd_pstate_cpufreq_init(unsigned int lcore_id)
struct amd_pstate_power_info *pi;
uint32_t exp_state;
+ if (!power_amd_pstate_cpufreq_check_supported()) {
+ POWER_LOG(ERR, "%s driver is not supported",
+ POWER_AMD_PSTATE_DRIVER);
+ return -1;
+ }
+
if (lcore_id >= RTE_MAX_LCORE) {
POWER_LOG(ERR, "Lcore id %u can not exceeds %u",
lcore_id, RTE_MAX_LCORE - 1U);
diff --git a/lib/power/power_cppc_cpufreq.c b/lib/power/power_cppc_cpufreq.c
index e68b39b424..e73f4520d0 100644
--- a/lib/power/power_cppc_cpufreq.c
+++ b/lib/power/power_cppc_cpufreq.c
@@ -340,6 +340,12 @@ power_cppc_cpufreq_init(unsigned int lcore_id)
struct cppc_power_info *pi;
uint32_t exp_state;
+ if (!power_cppc_cpufreq_check_supported()) {
+ POWER_LOG(ERR, "%s driver is not supported",
+ POWER_CPPC_DRIVER);
+ return -1;
+ }
+
if (lcore_id >= RTE_MAX_LCORE) {
POWER_LOG(ERR, "Lcore id %u can not exceeds %u",
lcore_id, RTE_MAX_LCORE - 1U);
diff --git a/lib/power/power_pstate_cpufreq.c b/lib/power/power_pstate_cpufreq.c
index 2343121621..1c2a91a178 100644
--- a/lib/power/power_pstate_cpufreq.c
+++ b/lib/power/power_pstate_cpufreq.c
@@ -542,6 +542,12 @@ power_pstate_cpufreq_init(unsigned int lcore_id)
struct pstate_power_info *pi;
uint32_t exp_state;
+ if (!power_pstate_cpufreq_check_supported()) {
+ POWER_LOG(ERR, "%s driver is not supported",
+ POWER_PSTATE_DRIVER);
+ return -1;
+ }
+
if (lcore_id >= RTE_MAX_LCORE) {
POWER_LOG(ERR, "Lcore id %u can not exceed %u",
lcore_id, RTE_MAX_LCORE - 1U);
--
2.34.1
More information about the dev
mailing list