summaryrefslogtreecommitdiff
path: root/firmware/target/hosted/cpuinfo-linux.h
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2017-10-06 18:31:35 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2017-10-06 18:31:35 +0200
commit4382f8773eaa94c43dc6cc0f19591d2607a34f20 (patch)
tree8f4505cb16fdcdc3a14deb5b26ad21d20ed99c64 /firmware/target/hosted/cpuinfo-linux.h
parent2f3801be3426c5cd743f237ec92b8feb9b5f0344 (diff)
downloadrockbox-4382f8773eaa94c43dc6cc0f19591d2607a34f20.tar.gz
rockbox-4382f8773eaa94c43dc6cc0f19591d2607a34f20.zip
cleanup linux cpuinfo code
sonynwz: quirk for cpufreq broken driver There was some redundancy between frequency_linux(cpu, true) and current_scaling_frequency(), also I see no reason to compile the cpuinfo stuff unconditionally and the scaling info only on DX since it was already printed some partial scaling info anyway. Thus compile all the code unconditionally and simplify the logic in the debug menu. Also avoid putting buffers of size PATH_MAX on stack since it can be quite big and we only requires 64 bytes for those paths. On Sony NWZ, the cpu driver reports frequency in MHz instead of kHz thus we need to make the cpuinfo code aware of that bug. Change-Id: I61af45ab5f179ecc909b4841b9137a915a60193a
Diffstat (limited to 'firmware/target/hosted/cpuinfo-linux.h')
-rw-r--r--firmware/target/hosted/cpuinfo-linux.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/firmware/target/hosted/cpuinfo-linux.h b/firmware/target/hosted/cpuinfo-linux.h
index 0483a3a9aa..defbf2f374 100644
--- a/firmware/target/hosted/cpuinfo-linux.h
+++ b/firmware/target/hosted/cpuinfo-linux.h
@@ -39,9 +39,12 @@ struct time_state {
39}; 39};
40 40
41int cpuusage_linux(struct cpuusage* u); 41int cpuusage_linux(struct cpuusage* u);
42int frequency_linux(int cpu, bool scaling); 42/* Return the frequency of a CPU. Note that whenever CPU frequency scaling is supported by the
43 * driver, this frequency may not be accurate and may vaguely reflect the cpu mode. Use
44 * current_scaling_frequency() to get the actual frequency if scaling is supported.
45 * Return -1 on error. */
46int frequency_linux(int cpu);
43 47
44#if defined(DX50) || defined(DX90)
45/* 48/*
46 Get the current cpufreq scaling governor. 49 Get the current cpufreq scaling governor.
47 cpu [in]: The number of the cpu to query. 50 cpu [in]: The number of the cpu to query.
@@ -60,7 +63,6 @@ bool current_scaling_governor(int cpu, char* governor, int governor_size);
60int min_scaling_frequency(int cpu); 63int min_scaling_frequency(int cpu);
61int current_scaling_frequency(int cpu); 64int current_scaling_frequency(int cpu);
62int max_scaling_frequency(int cpu); 65int max_scaling_frequency(int cpu);
63#endif
64 66
65int cpustatetimes_linux(int cpu, struct time_state* data, int max_elements); 67int cpustatetimes_linux(int cpu, struct time_state* data, int max_elements);
66int cpucount_linux(void); 68int cpucount_linux(void);