Sekhar Nori <[email protected]> writes:

> This patch adds a new function to the davinci_soc_info
> structure which controls voltage level (typically CVDD).
>
> The new set_new_voltage call will be implemented by platform
> code supporting voltage change.
>
> Signed-off-by: Sekhar Nori <[email protected]>
> ---
>  arch/arm/mach-davinci/cpufreq.c             |    8 ++++++++
>  arch/arm/mach-davinci/include/mach/common.h |    1 +
>  2 files changed, 9 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-davinci/cpufreq.c b/arch/arm/mach-davinci/cpufreq.c
> index af60d3d..8cb0c85 100644
> --- a/arch/arm/mach-davinci/cpufreq.c
> +++ b/arch/arm/mach-davinci/cpufreq.c
> @@ -102,8 +102,16 @@ static int davinci_target(struct cpufreq_policy *policy,
>  
>       cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
>  
> +     /* if moving to higher frequency, up the voltage beforehand */
> +     if (davinci_soc_info.set_new_voltage && freqs.new > freqs.old)
> +             davinci_soc_info.set_new_voltage(idx);
> +
>       ret = clk_set_rate(armclk, idx);
>  
> +     /* if moving to lower freq, lower the voltage after lowering freq */
> +     if (davinci_soc_info.set_new_voltage && freqs.new < freqs.old)
> +             davinci_soc_info.set_new_voltage(idx);
> +
>       cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
>  
>       return ret;
> diff --git a/arch/arm/mach-davinci/include/mach/common.h 
> b/arch/arm/mach-davinci/include/mach/common.h
> index 1487a57..49d08aa 100644
> --- a/arch/arm/mach-davinci/include/mach/common.h
> +++ b/arch/arm/mach-davinci/include/mach/common.h
> @@ -71,6 +71,7 @@ struct davinci_soc_info {
>       dma_addr_t                      sram_dma;
>       unsigned                        sram_len;
>       void (*init_cpufreq_table) (struct cpufreq_frequency_table **);
> +     int (*set_new_voltage) (unsigned int index);
>  };

I'm not crazy about the soc_info extention with functional interface.
There should a new API for this.

Kevin

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to