1.. SPDX-License-Identifier: GPL-2.0 2.. include:: ../disclaimer-zh_CN.rst 3 4:Original: Documentation/cpu-freq/core.rst 5 6:������: 7 8 ��������� Yanteng Si <siyanteng@loongson.cn> 9 10:������: 11 12 ��������� Tang Yizhou <tangyeechou@gmail.com> 13 14==================================== 15CPUFreq���������CPUFreq������������������������ 16==================================== 17 18������: 19 - Dominik Brodowski <linux@brodo.de> 20 - David Kimdon <dwhedon@debian.org> 21 - Rafael J. Wysocki <rafael.j.wysocki@intel.com> 22 - Viresh Kumar <viresh.kumar@linaro.org> 23 24.. ������: 25 26 1. CPUFreq��������������� 27 2. CPUFreq��������� 28 3. ������Operating Performance Point (OPP)���CPUFreq������������ 29 301. CPUFreq��������������� 31====================== 32 33cpufreq������������������drivers/cpufreq/cpufreq.c������������cpufreq���������CPUFreq������������ 34������������������������������������������������������������ "���������" ������������������������������������ 35��������������������������������������������������������� ACPI ��������������������������������������������������������������� 36��������������������������������������������� ARM ������������ LCD ��������������������������������������� 37��������������� "������" loops_per_jiffy ��������������������������������� 38 39cpufreq������������������������ cpufreq_cpu_get ��� cpufreq_cpu_put ��������������������� cpufreq ��� 40��������������������������������������������������������������� cpufreq_put_cpu ��������������������������������������������� 41���������CPU������cpufreq ��������������������������������������� 42 432. CPUFreq ��������� 44==================== 45 46CPUFreq������������������������������������������������ 47��������������������������������� linux/include/linux/notifier.h��� 48 49������������������������CPUfreq��������� - ������������������������������������ 50 51 522.1 CPUFreq��������������� 53---------------------------- 54 55������������������������������������������������������ 56 57���������������������������������������������������������������������������������������������CPUFREQ_CREATE_POLICY������ 58������������������������������CPUFREQ_REMOVE_POLICY��� 59 60��������������� ``void *pointer`` ���������������������cpufreq_policy������������min���max(��������������������� 61������������������kHz���)��������������� 62 63 642.2 CPUFreq��������������� 65-------------------------------- 66 67���CPUfreq������������CPU������������������������������������������CPU������������������������������������������������������������ 68������ 69 70��������������������������� - CPUFREQ_PRECHANGE or CPUFREQ_POSTCHANGE. 71 72���������������������������������������������������cpufreq_freqs��� 73 74====== =============================== 75policy ������struct cpufreq_policy��������� 76old ��������� 77new ��������� 78flags cpufreq��������������� 79====== =============================== 80 813. ������Operating Performance Point (OPP)���CPUFreq������������ 82================================================================== 83������OPP������������������ Documentation/power/opp.rst 84 85dev_pm_opp_init_cpufreq_table - 86 ������������������������������������������������������������������OPP��������������������������������������������������� 87 cpufreq������������������������ 88 89 .. Warning:: 90 91 ��������������������������������������������� 92 93 ������:: 94 95 soc_pm_init() 96 { 97 /* Do things */ 98 r = dev_pm_opp_init_cpufreq_table(dev, &freq_table); 99 if (!r) 100 policy->freq_table = freq_table; 101 /* Do other things */ 102 } 103 104 .. note:: 105 106 ������������������CONFIG_PM_OPP������������������CONFIG_CPU_FREQ��������������� 107 108dev_pm_opp_free_cpufreq_table 109 ������dev_pm_opp_init_cpufreq_table��������������� 110