2022-06-29 21:37:58

by Chanwoo Choi

[permalink] [raw]
Subject: [GIT PULL] devfreq fixes for 5.19-rc5

Dear Rafael,

This is devfreq-fixes pull request for v5.19-rc5. I add detailed description of
this pull request on the following tag. Please pull devfreq with
following updates.

Best Regards,
Chanwoo Choi


The following changes since commit 03c765b0e3b4cb5063276b086c76f7a612856a9a:

Linux 5.19-rc4 (2022-06-26 14:22:10 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git tags/devfreq-fixes-for-5.19-rc5

for you to fetch changes up to f08fe6fcbe13f83558ecccc4acaf5af3dce71a1f:

PM / devfreq: passive: revert an editing accident in SPDX-License line (2022-06-30 05:11:17 +0900)

----------------------------------------------------------------

Update devfreq for 5.19-rc5

Detailed description for this pull request:
1. Fix devfreq passive governor issue when cpufreq policy are not ready
during kernel booting because some cpus turn on after kernel booting or others.

- Re-initialize the vairables of struct devfreq_passive_data when PROBE_DEFER
happen when cpufreq_get_returns NULL

- Use dev_err_probe to mute warning when PROBE_DEFER

- Fix cpufreq passive unregister erroring on PROBE_DEFER
by using the allocated parent_cpu_data list to free resouce
instead of for_each_possible_cpu.

- Remove duplicate cpufreq passive unregister and warning when PROBE_DEFER

- Use HZ_PER_KZH macro in units.h

- Fix wrong indentation in SPDX-License line

2. Fix reference count leak of exynos-ppmu.c by using of_node_put()

3. Rework freq_table to be local to devfreq struct
- struct devfreq_dev_profile includes freq_table array to store
the supported frequencies. If devfreq driver doesn't initialize
the freq_table, devfreq core allocate the memory and initialize
the freq_table.

On a devfreq PROBE_DEFER, the freq_table in the driver profile struct,
is never reset and may be leaved in an undefined state. To fix this
and correctly handle PROBE_DEFER, use a local freq_table and
max_state in the devfreq struct.

----------------------------------------------------------------
Christian Marangi (5):
PM / devfreq: Fix kernel panic with cpu based scaling to passive gov
PM / devfreq: Mute warning on governor PROBE_DEFER
PM / devfreq: Fix cpufreq passive unregister erroring on PROBE_DEFER
PM / devfreq: Rework freq_table to be local to devfreq struct
PM / devfreq: Fix kernel warning with cpufreq passive register fail

Lukas Bulwahn (1):
PM / devfreq: passive: revert an editing accident in SPDX-License line

Miaoqian Lin (1):
PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events

Yicong Yang (1):
PM / devfreq: passive: Use HZ_PER_KHZ macro in units.h

drivers/devfreq/devfreq.c | 76 ++++++++++++++++++-------------------
drivers/devfreq/event/exynos-ppmu.c | 8 +++-
drivers/devfreq/governor_passive.c | 62 +++++++++++++-----------------
include/linux/devfreq.h | 5 +++
4 files changed, 75 insertions(+), 76 deletions(-)


2022-06-30 13:45:39

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [GIT PULL] devfreq fixes for 5.19-rc5

On Wed, Jun 29, 2022 at 11:32 PM Chanwoo Choi <[email protected]> wrote:
>
> Dear Rafael,
>
> This is devfreq-fixes pull request for v5.19-rc5. I add detailed description of
> this pull request on the following tag. Please pull devfreq with
> following updates.
>
> Best Regards,
> Chanwoo Choi
>
>
> The following changes since commit 03c765b0e3b4cb5063276b086c76f7a612856a9a:
>
> Linux 5.19-rc4 (2022-06-26 14:22:10 -0700)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git tags/devfreq-fixes-for-5.19-rc5
>
> for you to fetch changes up to f08fe6fcbe13f83558ecccc4acaf5af3dce71a1f:
>
> PM / devfreq: passive: revert an editing accident in SPDX-License line (2022-06-30 05:11:17 +0900)
>
> ----------------------------------------------------------------
>
> Update devfreq for 5.19-rc5
>
> Detailed description for this pull request:
> 1. Fix devfreq passive governor issue when cpufreq policy are not ready
> during kernel booting because some cpus turn on after kernel booting or others.
>
> - Re-initialize the vairables of struct devfreq_passive_data when PROBE_DEFER
> happen when cpufreq_get_returns NULL
>
> - Use dev_err_probe to mute warning when PROBE_DEFER
>
> - Fix cpufreq passive unregister erroring on PROBE_DEFER
> by using the allocated parent_cpu_data list to free resouce
> instead of for_each_possible_cpu.
>
> - Remove duplicate cpufreq passive unregister and warning when PROBE_DEFER
>
> - Use HZ_PER_KZH macro in units.h
>
> - Fix wrong indentation in SPDX-License line
>
> 2. Fix reference count leak of exynos-ppmu.c by using of_node_put()
>
> 3. Rework freq_table to be local to devfreq struct
> - struct devfreq_dev_profile includes freq_table array to store
> the supported frequencies. If devfreq driver doesn't initialize
> the freq_table, devfreq core allocate the memory and initialize
> the freq_table.
>
> On a devfreq PROBE_DEFER, the freq_table in the driver profile struct,
> is never reset and may be leaved in an undefined state. To fix this
> and correctly handle PROBE_DEFER, use a local freq_table and
> max_state in the devfreq struct.
>
> ----------------------------------------------------------------
> Christian Marangi (5):
> PM / devfreq: Fix kernel panic with cpu based scaling to passive gov
> PM / devfreq: Mute warning on governor PROBE_DEFER
> PM / devfreq: Fix cpufreq passive unregister erroring on PROBE_DEFER
> PM / devfreq: Rework freq_table to be local to devfreq struct
> PM / devfreq: Fix kernel warning with cpufreq passive register fail
>
> Lukas Bulwahn (1):
> PM / devfreq: passive: revert an editing accident in SPDX-License line
>
> Miaoqian Lin (1):
> PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events
>
> Yicong Yang (1):
> PM / devfreq: passive: Use HZ_PER_KHZ macro in units.h
>
> drivers/devfreq/devfreq.c | 76 ++++++++++++++++++-------------------
> drivers/devfreq/event/exynos-ppmu.c | 8 +++-
> drivers/devfreq/governor_passive.c | 62 +++++++++++++-----------------
> include/linux/devfreq.h | 5 +++
> 4 files changed, 75 insertions(+), 76 deletions(-)

Pulled and pushed out, thanks!