aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/odp/api/cpu.h11
-rw-r--r--platform/linux-generic/odp_system_info.c10
2 files changed, 20 insertions, 1 deletions
diff --git a/include/odp/api/cpu.h b/include/odp/api/cpu.h
index ff63daa02..22b61e8bc 100644
--- a/include/odp/api/cpu.h
+++ b/include/odp/api/cpu.h
@@ -84,6 +84,17 @@ uint64_t odp_cpu_hz(void);
uint64_t odp_cpu_hz_max(void);
/**
+ * Maximum CPU frequency of a CPU (in Hz)
+ *
+ * Returns maximum frequency of specified CPU
+ *
+ * @param id CPU ID
+ *
+ * @return CPU frequency in Hz
+ */
+uint64_t odp_cpu_hz_max_id(int id);
+
+/**
* Current CPU cycle count
*
* Return current CPU cycle count. Cycle count may not be reset at ODP init
diff --git a/platform/linux-generic/odp_system_info.c b/platform/linux-generic/odp_system_info.c
index e105cab5e..e9c5898c7 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -379,7 +379,15 @@ uint64_t odp_cpu_hz(void)
uint64_t odp_cpu_hz_max(void)
{
- return odp_global_data.system_info.cpu_hz[0];
+ return odp_cpu_hz_max_id(0);
+}
+
+uint64_t odp_cpu_hz_max_id(int id)
+{
+ if (id >= 0 && id < MAX_CPU_NUMBER)
+ return odp_global_data.system_info.cpu_hz[id];
+ else
+ return -1;
}
uint64_t odp_sys_huge_page_size(void)