/* determine current CPU frequency * - _kernel variant means kernel's opinion of CPU frequency * - _hardware variant means actual hardware CPU frequency, * which is only available to root. * * returns 0 on failure, else frequency in kHz.
*/
/* determine CPU transition latency * * returns 0 on failure, else transition latency in 10^(-9) s = nanoseconds
*/ unsignedlong cpufreq_get_transition_latency(unsignedint cpu);
/* determine energy performance preference * * returns NULL on failure, else the string that represents the energy performance * preference requested.
*/ char *cpufreq_get_energy_performance_preference(unsignedint cpu); void cpufreq_put_energy_performance_preference(char *ptr);
/* determine hardware CPU frequency limits * * These may be limited further by thermal, energy or other * considerations by cpufreq policy notifiers in the kernel.
*/
int cpufreq_get_hardware_limits(unsignedint cpu, unsignedlong *min, unsignedlong *max);
/* determine CPUfreq driver used * * Remember to call cpufreq_put_driver when no longer needed * to avoid memory leakage, please.
*/
char *cpufreq_get_driver(unsignedint cpu);
void cpufreq_put_driver(char *ptr);
/* determine CPUfreq policy currently used * * Remember to call cpufreq_put_policy when no longer needed * to avoid memory leakage, please.
*/
/* determine CPUfreq governors currently available * * may be modified by modprobe'ing or rmmod'ing other governors. Please * free allocated memory by calling cpufreq_put_available_governors * after use.
*/
/* determine CPU frequency states available * * Only present on _some_ ->target() cpufreq drivers. For information purposes * only. Please free allocated memory by calling * cpufreq_put_frequencies after use.
*/
/* set new cpufreq policy * * Tries to set the passed policy as new policy as close as possible, * but results may differ depending e.g. on governors being available.
*/
int cpufreq_set_policy(unsignedint cpu, struct cpufreq_policy *policy);
/* modify a policy by only changing min/max freq or governor * * Does not check whether result is what was intended.
*/
int cpufreq_modify_policy_min(unsignedint cpu, unsignedlong min_freq); int cpufreq_modify_policy_max(unsignedint cpu, unsignedlong max_freq); int cpufreq_modify_policy_governor(unsignedint cpu, char *governor);
/* set a specific frequency * * Does only work if userspace governor can be used and no external * interference (other calls to this function or to set/modify_policy) * occurs. Also does not work on ->range() cpufreq drivers.
*/
int cpufreq_set_frequency(unsignedint cpu, unsignedlong target_frequency);
/* * get the sysfs value from specific table * * Read the value with the sysfs file name from specific table. Does * only work if the cpufreq driver has the specific sysfs interfaces.
*/
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.