[API,NEXT,v7,07/14] api: cpu: add new API to get per-CPU max frequency

Message ID 1444734798-29063-8-git-send-email-hongbo.zhang@freescale.com
State New
Headers show

Commit Message

hongbo.zhang@freescale.com Oct. 13, 2015, 11:13 a.m.
From: Hongbo Zhang <hongbo.zhang@linaro.org>

This patch adds new API odp_cpu_hz_max_id() to get the
corresponding max frequency for each CPU indexed by CPU ID.

Signed-off-by: Hongbo Zhang <hongbo.zhang@linaro.org>
---
 include/odp/api/cpu.h                    | 11 +++++++++++
 platform/linux-generic/odp_system_info.c | 10 +++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)

Patch

diff --git a/include/odp/api/cpu.h b/include/odp/api/cpu.h
index 96f7d77..7eb326d 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 55f5753..cff6d65 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -370,7 +370,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)