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(-)
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!