[PATCH] cpufreq: mediatek: Raise proc and sram max voltage for MT7622/7623
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Fri Dec 2 02:04:56 PST 2022
Il 02/12/22 10:52, AngeloGioacchino Del Regno ha scritto:
> During the addition of SRAM voltage tracking for CCI scaling, this
> driver got some voltage limits set for the vtrack algorithm: these
> were moved to platform data first, then enforced in a later commit
> 6a17b3876bc8 ("cpufreq: mediatek: Refine mtk_cpufreq_voltage_tracking()")
> using these as max values for the regulator_set_voltage() calls.
>
> In this case, the vsram/vproc constraints for MT7622 and MT7623
> were supposed to be the same as MT2701 (and a number of other SoCs),
> but that turned out to be a mistake because the aforementioned two
> SoCs' maximum voltage for both VPROC and VPROC_SRAM is 1.36V.
>
> Fix that by adding new platform data for MT7622/7623 declaring the
> right {proc,sram}_max_volt parameter.
>
> Fixes: ead858bd128d ("cpufreq: mediatek: Move voltage limits to platform data")
> Fixes: 6a17b3876bc8 ("cpufreq: mediatek: Refine mtk_cpufreq_voltage_tracking()")
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
Hello Vincent,
in regard to the regression that you've (not so) recently reported, can you please
give this commit a try and check if this helps resolving your issue?
Many thanks,
Angelo
> ---
> drivers/cpufreq/mediatek-cpufreq.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/cpufreq/mediatek-cpufreq.c b/drivers/cpufreq/mediatek-cpufreq.c
> index 7f2680bc9a0f..f9a9f08c75c4 100644
> --- a/drivers/cpufreq/mediatek-cpufreq.c
> +++ b/drivers/cpufreq/mediatek-cpufreq.c
> @@ -695,6 +695,15 @@ static const struct mtk_cpufreq_platform_data mt2701_platform_data = {
> .ccifreq_supported = false,
> };
>
> +static const struct mtk_cpufreq_platform_data mt7622_platform_data = {
> + .min_volt_shift = 100000,
> + .max_volt_shift = 200000,
> + .proc_max_volt = 1360000,
> + .sram_min_volt = 0,
> + .sram_max_volt = 1360000,
> + .ccifreq_supported = false,
> +};
> +
> static const struct mtk_cpufreq_platform_data mt8183_platform_data = {
> .min_volt_shift = 100000,
> .max_volt_shift = 200000,
> @@ -717,8 +726,8 @@ static const struct mtk_cpufreq_platform_data mt8186_platform_data = {
> static const struct of_device_id mtk_cpufreq_machines[] __initconst = {
> { .compatible = "mediatek,mt2701", .data = &mt2701_platform_data },
> { .compatible = "mediatek,mt2712", .data = &mt2701_platform_data },
> - { .compatible = "mediatek,mt7622", .data = &mt2701_platform_data },
> - { .compatible = "mediatek,mt7623", .data = &mt2701_platform_data },
> + { .compatible = "mediatek,mt7622", .data = &mt7622_platform_data },
> + { .compatible = "mediatek,mt7623", .data = &mt7622_platform_data },
> { .compatible = "mediatek,mt8167", .data = &mt2701_platform_data },
> { .compatible = "mediatek,mt817x", .data = &mt2701_platform_data },
> { .compatible = "mediatek,mt8173", .data = &mt2701_platform_data },
More information about the Linux-mediatek
mailing list