/* Current astate, is used when waking up from power savings on * one core, in case the other core has switched states during * the idle time.
*/ staticint current_astate;
/* We support 5(A0-A4) power states excluding turbo(A5-A6) modes */ staticstruct cpufreq_frequency_table pas_freqs[] = {
{0, 0, 0},
{0, 1, 0},
{0, 2, 0},
{0, 3, 0},
{0, 4, 0},
{0, 0, CPUFREQ_TABLE_END},
};
/* just provide the upper bound */ if (giztime & SDCPWR_GIZTIME_GR)
ret = (giztime & SDCPWR_GIZTIME_LONGLOCK) * 128000; else
ret = (giztime & SDCPWR_GIZTIME_LONGLOCK) * 1000;
pr_debug("init cpufreq on CPU %d\n", policy->cpu);
pr_debug("max clock-frequency is at %u kHz\n", max_freq);
pr_debug("initializing frequency table\n");
staticvoid pas_cpufreq_cpu_exit(struct cpufreq_policy *policy)
{ /* * We don't support CPU hotplug. Don't unmap after the system * has already made it to a running state.
*/ if (system_state >= SYSTEM_RUNNING) return;
if (sdcasr_mapbase)
iounmap(sdcasr_mapbase); if (sdcpwr_mapbase)
iounmap(sdcpwr_mapbase);
}
staticint pas_cpufreq_target(struct cpufreq_policy *policy, unsignedint pas_astate_new)
{ int i;
pr_debug("setting frequency for cpu %d to %d kHz, 1/%d of max frequency\n",
policy->cpu,
pas_freqs[pas_astate_new].frequency,
pas_freqs[pas_astate_new].driver_data);
MODULE_DESCRIPTION("cpufreq driver for PA Semi PWRficient");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Egor Martovetsky <egor@pasemi.com>, Olof Johansson <olof@lixom.net>");
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-04-29)
¤
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.