[RESEND][PATCH v2 4/4] soc: samsung: exynos-asv: Update Energy Model after adjusting voltage

Lukasz Luba lukasz.luba at arm.com
Wed Mar 27 06:39:14 PDT 2024



On 3/27/24 12:56, Dietmar Eggemann wrote:
> On 26/03/2024 21:12, Lukasz Luba wrote:
>> Hi Dietmar,
>>
>> On 3/26/24 11:20, Dietmar Eggemann wrote:
>>> On 22/03/2024 12:08, Lukasz Luba wrote:
>>>
>>> [...]
>>>
>>>> @@ -97,9 +98,17 @@ static int exynos_asv_update_opps(struct
>>>> exynos_asv *asv)
>>>>                last_opp_table = opp_table;
>>>>                  ret = exynos_asv_update_cpu_opps(asv, cpu);
>>>> -            if (ret < 0)
>>>> +            if (!ret) {
>>>> +                /*
>>>> +                 * When the voltage for OPPs successfully
>>>> +                 * changed, update the EM power values to
>>>> +                 * reflect the reality and not use stale data
>>>
>>> At this point, can we really say that the voltage has changed?
>>>
>>>     exynos_asv_update_cpu_opps()
>>>
>>>       ...
>>>       ret = dev_pm_opp_adjust_voltage()
>>>       if (!ret)
>>>         em_dev_update_chip_binning()
>>>       ...
>>>
>>> dev_pm_opp_adjust_voltage() also returns 0 when the voltage value stays
>>> the same?
>>>
>>> [...]
>>
>> The comment for the dev_pm_opp_adjust_voltage() says that it
>> returns 0 if no modification was done or modification was
>> successful. So I cannot distinguish in that driver code, but
>> also there is no additional need to do it IMO (even framework
>> doesn't do this).
> 
> Precisely. That's why the added comment in exynos_asv_update_opps():
> "When the voltage for OPPs successfully __changed__, ..." is somehow
> misleading IMHO.
> 

I got your point. Let me re-phrase that comment to reflect this
OPP function return properly.



More information about the linux-arm-kernel mailing list