[API-NEXT,v3,6/8] linux-generic: sysinfo: add new API to get max frequency for each CPU

Message ID 1436438768-4258-7-git-send-email-hongbo.zhang@freescale.com
State New
Headers show

Commit Message

hongbo.zhang@freescale.com July 9, 2015, 10:46 a.m.
From: Hongbo Zhang <hongbo.zhang@linaro.org>

Previous patch makes varible cpu_hz to array cpu_hz[] to contain data for
each CPU on AMP platforms, and then this patch adds new API 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 c2efe31..3ecef1f 100644
--- a/include/odp/api/cpu.h
+++ b/include/odp/api/cpu.h
@@ -53,6 +53,17 @@  int odp_cpu_count(void);
 uint64_t odp_cpu_hz_max(void);
 
 /**
+ * Maximum CPU frequency of a CPU (in Hz)
+ *
+ * Returns maximum frequency of the specified CPU
+ *
+ * @param id    CPU ID
+ *
+ * @return CPU frequency in Hz
+ */
+uint64_t odp_cpu_id_hz_max(int id);
+
+/**
  * CPU model name
  *
  * @return Pointer to CPU model name string
diff --git a/platform/linux-generic/odp_system_info.c b/platform/linux-generic/odp_system_info.c
index 2881695..00d009c 100644
--- a/platform/linux-generic/odp_system_info.c
+++ b/platform/linux-generic/odp_system_info.c
@@ -368,7 +368,15 @@  int odp_system_info_init(void)
  */
 uint64_t odp_cpu_hz_max(void)
 {
-	return odp_global_data.system_info.cpu_hz[0];
+	return odp_cpu_id_hz_max(0);
+}
+
+uint64_t odp_cpu_id_hz_max(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)