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.