diff mbox

PM / devfreq: tegra: Set freq in rate callback

Message ID 1453362746-9310-1-git-send-email-tomeu.vizoso@collabora.com
State Accepted, archived
Headers show

Commit Message

Tomeu Vizoso Jan. 21, 2016, 7:52 a.m. UTC
As per the documentation of the devfreq_dev_profile.target callback, set
the freq argument to the new frequency before returning.

This caused endless messages like this after recent changes in the core:

devfreq 6000c800.actmon: Couldn't update frequency transition information.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reported-by: Tyler Baker <tyler.baker@linaro.org>
---
 drivers/devfreq/tegra-devfreq.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Thierry Reding Jan. 21, 2016, 10:54 a.m. UTC | #1
On Thu, Jan 21, 2016 at 08:52:26AM +0100, Tomeu Vizoso wrote:
> As per the documentation of the devfreq_dev_profile.target callback, set
> the freq argument to the new frequency before returning.
> 
> This caused endless messages like this after recent changes in the core:
> 
> devfreq 6000c800.actmon: Couldn't update frequency transition information.
> 
> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Reported-by: Tyler Baker <tyler.baker@linaro.org>
> ---
>  drivers/devfreq/tegra-devfreq.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c
> index 848b93ee930f..fe9dce0245bf 100644
> --- a/drivers/devfreq/tegra-devfreq.c
> +++ b/drivers/devfreq/tegra-devfreq.c
> @@ -500,6 +500,8 @@ static int tegra_devfreq_target(struct device *dev, unsigned long *freq,
>  	clk_set_min_rate(tegra->emc_clock, rate);
>  	clk_set_rate(tegra->emc_clock, 0);
>  
> +	*freq = rate;
> +
>  	return 0;
>  }
>  

I had noticed it recently but hadn't got around to look into it, thanks
for fixing it.

Tested-by: Thierry Reding <treding@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Tyler Baker Jan. 27, 2016, 7:20 p.m. UTC | #2
Hi Thierry,

On 21 January 2016 at 02:54, Thierry Reding <thierry.reding@gmail.com> wrote:
> On Thu, Jan 21, 2016 at 08:52:26AM +0100, Tomeu Vizoso wrote:
>> As per the documentation of the devfreq_dev_profile.target callback, set
>> the freq argument to the new frequency before returning.
>>
>> This caused endless messages like this after recent changes in the core:
>>
>> devfreq 6000c800.actmon: Couldn't update frequency transition information.
>>
>> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
>> Reported-by: Tyler Baker <tyler.baker@linaro.org>
>> ---
>>  drivers/devfreq/tegra-devfreq.c | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c
>> index 848b93ee930f..fe9dce0245bf 100644
>> --- a/drivers/devfreq/tegra-devfreq.c
>> +++ b/drivers/devfreq/tegra-devfreq.c
>> @@ -500,6 +500,8 @@ static int tegra_devfreq_target(struct device *dev, unsigned long *freq,
>>       clk_set_min_rate(tegra->emc_clock, rate);
>>       clk_set_rate(tegra->emc_clock, 0);
>>
>> +     *freq = rate;
>> +
>>       return 0;
>>  }
>>
>
> I had noticed it recently but hadn't got around to look into it, thanks
> for fixing it.
>
> Tested-by: Thierry Reding <treding@nvidia.com>
> Acked-by: Thierry Reding <treding@nvidia.com>

I don't see this patch in -next yet, so I'm guess it hasn't been
applied. Any chance you could pick it up? This issue is now
manifesting in mainline, and causing ton of noise in the boot reports.

Cheers,

Tyler
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/devfreq/tegra-devfreq.c b/drivers/devfreq/tegra-devfreq.c
index 848b93ee930f..fe9dce0245bf 100644
--- a/drivers/devfreq/tegra-devfreq.c
+++ b/drivers/devfreq/tegra-devfreq.c
@@ -500,6 +500,8 @@  static int tegra_devfreq_target(struct device *dev, unsigned long *freq,
 	clk_set_min_rate(tegra->emc_clock, rate);
 	clk_set_rate(tegra->emc_clock, 0);
 
+	*freq = rate;
+
 	return 0;
 }