Hi Gregory, 
> The clock parenting was not setup properly when DVFS was enabled. It was
> expected that the same clock source was used with and without DVFS which
> was not the case.
> 
> This patch fixes this issue, allowing to make the cpufreq support work
> when the CPU clocks source are not the default ones.
> 
> Fixes: 92ce45fb875d ("cpufreq: Add DVFS support for Armada 37xx")
> Cc: <sta...@vger.kernel.org>
> Reported-by: Christian Neubert <christian.neubert...@gmail.com>
> Reported-by: Ilias Apalodimas <ilias.apalodi...@linaro.org>
> Signed-off-by: Gregory CLEMENT <gregory.clem...@bootlin.com>
> ---
>  drivers/clk/mvebu/armada-37xx-periph.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/clk/mvebu/armada-37xx-periph.c 
> b/drivers/clk/mvebu/armada-37xx-periph.c
> index 1f1cff428d78..26ed3c18a239 100644
> --- a/drivers/clk/mvebu/armada-37xx-periph.c
> +++ b/drivers/clk/mvebu/armada-37xx-periph.c
> @@ -671,6 +671,17 @@ static int armada_3700_add_composite_clk(const struct 
> clk_periph_data *data,
>               map = syscon_regmap_lookup_by_compatible(
>                               "marvell,armada-3700-nb-pm");
>               pmcpu_clk->nb_pm_base = map;
> +
> +             /*
> +              * Use the same parent when DVFS is enabled that the
> +              * default parent received at boot time. When this
> +              * function is called, DVFS is not enabled yet, so we
> +              * get the default parent and we can set the parent
> +              * for DVFS.
> +              */
> +             if (clk_pm_cpu_set_parent(muxrate_hw,
> +                                       clk_pm_cpu_get_parent(muxrate_hw)))
> +                     dev_warn(dev, "Failed to setup default parent clock for 
> DVFS\n");
>       }
>  
>       *hw = clk_hw_register_composite(dev, data->name, data->parent_names,
> -- 
> 2.20.1
> 
Applied this and selected only

CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y

After changing the governor from 'powersave' to 'performance' the board
completely froze (i even lost access to the serial port)

Cheers
/Ilias

Reply via email to