summaryrefslogtreecommitdiff
path: root/drivers/cpufreq/tegra20-cpufreq.c
diff options
context:
space:
mode:
authorXuewen Yan <xuewen.yan@unisoc.com>2024-03-19 11:01:53 +0300
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2024-03-27 18:19:39 +0300
commitdb9ea3b22315b74fd682d0c381a6e2ad09a105e3 (patch)
tree75c1e2b836fc6eb1636dd764ff1cf35af4ceea09 /drivers/cpufreq/tegra20-cpufreq.c
parent4cece764965020c22cff7665b18a012006359095 (diff)
downloadlinux-db9ea3b22315b74fd682d0c381a6e2ad09a105e3.tar.xz
cpufreq: Use a smaller freq for the policy->max when verify
When driver use the cpufreq_frequency_table_verify() as the cpufreq_driver->verify's callback. It may cause the policy->max bigger than the freq_qos's max freq. Just as follow: unisoc:/sys/devices/system/cpu/cpufreq/policy0 # cat scaling_available_frequencies 614400 768000 988000 1228800 1469000 1586000 1690000 1833000 2002000 2093000 unisoc:/sys/devices/system/cpu/cpufreq/policy0 # echo 1900000 > scaling_max_freq unisoc:/sys/devices/system/cpu/cpufreq/policy0 # echo 1900000 > scaling_min_freq unisoc:/sys/devices/system/cpu/cpufreq/policy0 # cat scaling_max_freq 2002000 unisoc:/sys/devices/system/cpu/cpufreq/policy0 # cat scaling_min_freq 2002000 When user set the qos_min and qos_max as the same value, and the value is not in the freq-table, the above scenario will occur. This is because in cpufreq_frequency_table_verify() func, when it can not find the freq in table, it will change the policy->max to be a bigger freq, as above, because there is no 1.9G in the freq-table, the policy->max would be set to 2.002G. As a result, the cpufreq_policy->max is bigger than the user's qos_max. This is unreasonable. So use a smaller freq when can not find the freq in fre-table, to prevent the policy->max exceed the qos's max freq. Signed-off-by: Xuewen Yan <xuewen.yan@unisoc.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Dhruva Gole <d-gole@ti.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/tegra20-cpufreq.c')
0 files changed, 0 insertions, 0 deletions