mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
670dedbbd7
Backport cpufreq changes from upstream so that the MediaTek MT7988 SoC
can be supported.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit e4555d69a1
)
162 lines
5.5 KiB
Diff
162 lines
5.5 KiB
Diff
From a02e2b359141035d2d6999940bc1b9f83ec88587 Mon Sep 17 00:00:00 2001
|
|
From: Rex-BC Chen <rex-bc.chen@mediatek.com>
|
|
Date: Fri, 22 Apr 2022 15:52:27 +0800
|
|
Subject: [PATCH 04/21] cpufreq: mediatek: Use device print to show logs
|
|
|
|
- Replace pr_* with dev_* to show logs.
|
|
- Remove usage of __func__.
|
|
|
|
Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
|
|
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
|
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
|
---
|
|
drivers/cpufreq/mediatek-cpufreq.c | 54 ++++++++++++++++--------------
|
|
1 file changed, 28 insertions(+), 26 deletions(-)
|
|
|
|
--- a/drivers/cpufreq/mediatek-cpufreq.c
|
|
+++ b/drivers/cpufreq/mediatek-cpufreq.c
|
|
@@ -67,7 +67,8 @@ static int mtk_cpufreq_voltage_tracking(
|
|
|
|
old_vproc = regulator_get_voltage(proc_reg);
|
|
if (old_vproc < 0) {
|
|
- pr_err("%s: invalid Vproc value: %d\n", __func__, old_vproc);
|
|
+ dev_err(info->cpu_dev,
|
|
+ "invalid Vproc value: %d\n", old_vproc);
|
|
return old_vproc;
|
|
}
|
|
/* Vsram should not exceed the maximum allowed voltage of SoC. */
|
|
@@ -83,14 +84,14 @@ static int mtk_cpufreq_voltage_tracking(
|
|
do {
|
|
old_vsram = regulator_get_voltage(sram_reg);
|
|
if (old_vsram < 0) {
|
|
- pr_err("%s: invalid Vsram value: %d\n",
|
|
- __func__, old_vsram);
|
|
+ dev_err(info->cpu_dev,
|
|
+ "invalid Vsram value: %d\n", old_vsram);
|
|
return old_vsram;
|
|
}
|
|
old_vproc = regulator_get_voltage(proc_reg);
|
|
if (old_vproc < 0) {
|
|
- pr_err("%s: invalid Vproc value: %d\n",
|
|
- __func__, old_vproc);
|
|
+ dev_err(info->cpu_dev,
|
|
+ "invalid Vproc value: %d\n", old_vproc);
|
|
return old_vproc;
|
|
}
|
|
|
|
@@ -138,14 +139,14 @@ static int mtk_cpufreq_voltage_tracking(
|
|
do {
|
|
old_vproc = regulator_get_voltage(proc_reg);
|
|
if (old_vproc < 0) {
|
|
- pr_err("%s: invalid Vproc value: %d\n",
|
|
- __func__, old_vproc);
|
|
+ dev_err(info->cpu_dev,
|
|
+ "invalid Vproc value: %d\n", old_vproc);
|
|
return old_vproc;
|
|
}
|
|
old_vsram = regulator_get_voltage(sram_reg);
|
|
if (old_vsram < 0) {
|
|
- pr_err("%s: invalid Vsram value: %d\n",
|
|
- __func__, old_vsram);
|
|
+ dev_err(info->cpu_dev,
|
|
+ "invalid Vsram value: %d\n", old_vsram);
|
|
return old_vsram;
|
|
}
|
|
|
|
@@ -216,7 +217,7 @@ static int mtk_cpufreq_set_target(struct
|
|
old_freq_hz = clk_get_rate(cpu_clk);
|
|
old_vproc = regulator_get_voltage(info->proc_reg);
|
|
if (old_vproc < 0) {
|
|
- pr_err("%s: invalid Vproc value: %d\n", __func__, old_vproc);
|
|
+ dev_err(cpu_dev, "invalid Vproc value: %d\n", old_vproc);
|
|
return old_vproc;
|
|
}
|
|
|
|
@@ -224,8 +225,8 @@ static int mtk_cpufreq_set_target(struct
|
|
|
|
opp = dev_pm_opp_find_freq_ceil(cpu_dev, &freq_hz);
|
|
if (IS_ERR(opp)) {
|
|
- pr_err("cpu%d: failed to find OPP for %ld\n",
|
|
- policy->cpu, freq_hz);
|
|
+ dev_err(cpu_dev, "cpu%d: failed to find OPP for %ld\n",
|
|
+ policy->cpu, freq_hz);
|
|
return PTR_ERR(opp);
|
|
}
|
|
vproc = dev_pm_opp_get_voltage(opp);
|
|
@@ -239,8 +240,8 @@ static int mtk_cpufreq_set_target(struct
|
|
if (old_vproc < target_vproc) {
|
|
ret = mtk_cpufreq_set_voltage(info, target_vproc);
|
|
if (ret) {
|
|
- pr_err("cpu%d: failed to scale up voltage!\n",
|
|
- policy->cpu);
|
|
+ dev_err(cpu_dev,
|
|
+ "cpu%d: failed to scale up voltage!\n", policy->cpu);
|
|
mtk_cpufreq_set_voltage(info, old_vproc);
|
|
return ret;
|
|
}
|
|
@@ -249,8 +250,8 @@ static int mtk_cpufreq_set_target(struct
|
|
/* Reparent the CPU clock to intermediate clock. */
|
|
ret = clk_set_parent(cpu_clk, info->inter_clk);
|
|
if (ret) {
|
|
- pr_err("cpu%d: failed to re-parent cpu clock!\n",
|
|
- policy->cpu);
|
|
+ dev_err(cpu_dev,
|
|
+ "cpu%d: failed to re-parent cpu clock!\n", policy->cpu);
|
|
mtk_cpufreq_set_voltage(info, old_vproc);
|
|
WARN_ON(1);
|
|
return ret;
|
|
@@ -259,8 +260,8 @@ static int mtk_cpufreq_set_target(struct
|
|
/* Set the original PLL to target rate. */
|
|
ret = clk_set_rate(armpll, freq_hz);
|
|
if (ret) {
|
|
- pr_err("cpu%d: failed to scale cpu clock rate!\n",
|
|
- policy->cpu);
|
|
+ dev_err(cpu_dev,
|
|
+ "cpu%d: failed to scale cpu clock rate!\n", policy->cpu);
|
|
clk_set_parent(cpu_clk, armpll);
|
|
mtk_cpufreq_set_voltage(info, old_vproc);
|
|
return ret;
|
|
@@ -269,8 +270,8 @@ static int mtk_cpufreq_set_target(struct
|
|
/* Set parent of CPU clock back to the original PLL. */
|
|
ret = clk_set_parent(cpu_clk, armpll);
|
|
if (ret) {
|
|
- pr_err("cpu%d: failed to re-parent cpu clock!\n",
|
|
- policy->cpu);
|
|
+ dev_err(cpu_dev,
|
|
+ "cpu%d: failed to re-parent cpu clock!\n", policy->cpu);
|
|
mtk_cpufreq_set_voltage(info, inter_vproc);
|
|
WARN_ON(1);
|
|
return ret;
|
|
@@ -283,8 +284,8 @@ static int mtk_cpufreq_set_target(struct
|
|
if (vproc < inter_vproc || vproc < old_vproc) {
|
|
ret = mtk_cpufreq_set_voltage(info, vproc);
|
|
if (ret) {
|
|
- pr_err("cpu%d: failed to scale down voltage!\n",
|
|
- policy->cpu);
|
|
+ dev_err(cpu_dev,
|
|
+ "cpu%d: failed to scale down voltage!\n", policy->cpu);
|
|
clk_set_parent(cpu_clk, info->inter_clk);
|
|
clk_set_rate(armpll, old_freq_hz);
|
|
clk_set_parent(cpu_clk, armpll);
|
|
@@ -450,15 +451,16 @@ static int mtk_cpufreq_init(struct cpufr
|
|
|
|
info = mtk_cpu_dvfs_info_lookup(policy->cpu);
|
|
if (!info) {
|
|
- pr_err("dvfs info for cpu%d is not initialized.\n",
|
|
- policy->cpu);
|
|
+ dev_err(info->cpu_dev,
|
|
+ "dvfs info for cpu%d is not initialized.\n", policy->cpu);
|
|
return -EINVAL;
|
|
}
|
|
|
|
ret = dev_pm_opp_init_cpufreq_table(info->cpu_dev, &freq_table);
|
|
if (ret) {
|
|
- pr_err("failed to init cpufreq table for cpu%d: %d\n",
|
|
- policy->cpu, ret);
|
|
+ dev_err(info->cpu_dev,
|
|
+ "failed to init cpufreq table for cpu%d: %d\n",
|
|
+ policy->cpu, ret);
|
|
return ret;
|
|
}
|
|
|