Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2901603 authored by Dawei Chien's avatar Dawei Chien Committed by Eduardo Valentin
Browse files

thermal: mediatek: Add cpu dynamic power cooling model.



MT8173 cpufreq driver select of_cpufreq_power_cooling_register registering
cooling devices with dynamic power coefficient.

Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarDawei Chien <dawei.chien@mediatek.com>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent b3aef78f
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -310,17 +310,24 @@ static int mtk_cpufreq_set_target(struct cpufreq_policy *policy,
	return 0;
}

#define DYNAMIC_POWER "dynamic-power-coefficient"

static void mtk_cpufreq_ready(struct cpufreq_policy *policy)
{
	struct mtk_cpu_dvfs_info *info = policy->driver_data;
	struct device_node *np = of_node_get(info->cpu_dev->of_node);
	u32 capacitance = 0;

	if (WARN_ON(!np))
		return;

	if (of_find_property(np, "#cooling-cells", NULL)) {
		info->cdev = of_cpufreq_cooling_register(np,
							 policy->related_cpus);
		of_property_read_u32(np, DYNAMIC_POWER, &capacitance);

		info->cdev = of_cpufreq_power_cooling_register(np,
						policy->related_cpus,
						capacitance,
						NULL);

		if (IS_ERR(info->cdev)) {
			dev_err(info->cpu_dev,