mbox series

[GIT,PULL] devfreq next for 5.19

Message ID 3acd6c32-6e78-dfc2-3e45-84f69a7d5f36@samsung.com (mailing list archive)
State Mainlined, archived
Headers show
Series [GIT,PULL] devfreq next for 5.19 | expand

Pull-request

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

Message

Chanwoo Choi May 18, 2022, 2:42 a.m. UTC
Dear Rafael,

This is devfreq-next pull request for v5.19-rc1. I add detailed description of
this pull request on the following tag. Please pull devfreq with
following updates.
- tag name : devfreq-next-for-5.19

Best Regards,
Chanwoo Choi


The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:

  Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 26984d9d581e5049bd75091d2e789b9cc3ea12e0:

  PM / devfreq: passive: Keep cpufreq_policy for possible cpus (2022-05-17 18:24:39 +0900)

----------------------------------------------------------------
Update devfreq next for v5.19

Detailed description for this pull request:
1. Update devfreq core
- Add cpu based scaling support to passive governor. Some device like
cache might require the dynamic frequency scaling. But, it has very
tightly to cpu frequency. So that use passive governor to scale
the frequency according to current cpu frequency.

To decide the frequency of the device, the governor does one of the following:
: Derives the optimal devfreq device opp from required-opps property of
  the parent cpu opp_table.

: Scales the device frequency in proportion to the CPU frequency. So, if
  the CPUs are running at their max frequency, the device runs at its
  max frequency. If the CPUs are running at their min frequency, the
  device runs at its min frequency. It is interpolated for frequencies
  in between.

2. Update devfreq driver
- Update rk3399_dmc.c as following:
: Convert dt-binding document to YAML and deprecate unused properties.

: Use Hz units for the device-tree properties of rk3399_dmc.

: rk3399_dmc is able to set the idle time before changing the dmc clock.
  Specify idle time parameters by using nano-second unit on dt bidning.

: Add new disable-freq properties to optimize the power-saving feature
  of rk3399_dmc.

: Disable devfreq-event device on remove() to fix unbalanced
  enable-disable count.

: Use devm_pm_opp_of_add_table()

: Block PMU (Power-Management Unit) transitions when scaling frequency
  by ARM Trust Firmware in order to fix the conflict between PMU and DMC
  (Dynamic Memory Controller).
----------------------------------------------------------------

Brian Norris (15):
      dt-bindings: devfreq: rk3399_dmc: Convert to YAML
      dt-bindings: devfreq: rk3399_dmc: Deprecate unused/redundant properties
      dt-bindings: devfreq: rk3399_dmc: Fix Hz units
      dt-bindings: devfreq: rk3399_dmc: Specify idle params in nanoseconds
      dt-bindings: devfreq: rk3399_dmc: Add more disable-freq properties
      PM / devfreq: rk3399_dmc: Drop undocumented ondemand DT props
      PM / devfreq: rk3399_dmc: Drop excess timing properties
      PM / devfreq: rk3399_dmc: Use bitfield macro definitions for ODT_PD
      PM / devfreq: rk3399_dmc: Support new disable-freq properties
      PM / devfreq: rk3399_dmc: Support new *-ns properties
      PM / devfreq: rk3399_dmc: Disable edev on remove()
      PM / devfreq: rk3399_dmc: Use devm_pm_opp_of_add_table()
      PM / devfreq: rk3399_dmc: Avoid static (reused) profile
      soc: rockchip: power-domain: Manage resource conflicts with firmware
      PM / devfreq: rk3399_dmc: Block PMU during transitions

Chanwoo Choi (3):
      PM / devfreq: Export devfreq_get_freq_range symbol within devfreq
      PM / devfreq: passive: Reduce duplicate code when passive_devfreq case
      PM / devfreq: passive: Keep cpufreq_policy for possible cpus

Saravana Kannan (1):
      PM / devfreq: Add cpu based scaling support to passive governor

 .../devicetree/bindings/devfreq/rk3399_dmc.txt     | 212 -----------
 .../memory-controllers/rockchip,rk3399-dmc.yaml    | 384 ++++++++++++++++++++
 drivers/devfreq/devfreq.c                          |  20 +-
 drivers/devfreq/governor.h                         |  27 ++
 drivers/devfreq/governor_passive.c                 | 403 +++++++++++++++++----
 drivers/devfreq/rk3399_dmc.c                       | 312 ++++++++--------
 drivers/soc/rockchip/pm_domains.c                  | 118 ++++++
 include/linux/devfreq.h                            |  17 +-
 include/soc/rockchip/pm_domains.h                  |  25 ++
 9 files changed, 1063 insertions(+), 455 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt
 create mode 100644 Documentation/devicetree/bindings/memory-controllers/rockchip,rk3399-dmc.yaml
 create mode 100644 include/soc/rockchip/pm_domains.h

Comments

Rafael J. Wysocki May 18, 2022, 7:04 p.m. UTC | #1
On Wed, May 18, 2022 at 4:16 AM Chanwoo Choi <cw00.choi@samsung.com> wrote:
>
> Dear Rafael,
>
> This is devfreq-next pull request for v5.19-rc1. I add detailed description of
> this pull request on the following tag. Please pull devfreq with
> following updates.
> - tag name : devfreq-next-for-5.19
>
> Best Regards,
> Chanwoo Choi
>
>
> The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
>
>   Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git tags/devfreq-next-for-5.19
>
> for you to fetch changes up to 26984d9d581e5049bd75091d2e789b9cc3ea12e0:
>
>   PM / devfreq: passive: Keep cpufreq_policy for possible cpus (2022-05-17 18:24:39 +0900)
>
> ----------------------------------------------------------------
> Update devfreq next for v5.19
>
> Detailed description for this pull request:
> 1. Update devfreq core
> - Add cpu based scaling support to passive governor. Some device like
> cache might require the dynamic frequency scaling. But, it has very
> tightly to cpu frequency. So that use passive governor to scale
> the frequency according to current cpu frequency.
>
> To decide the frequency of the device, the governor does one of the following:
> : Derives the optimal devfreq device opp from required-opps property of
>   the parent cpu opp_table.
>
> : Scales the device frequency in proportion to the CPU frequency. So, if
>   the CPUs are running at their max frequency, the device runs at its
>   max frequency. If the CPUs are running at their min frequency, the
>   device runs at its min frequency. It is interpolated for frequencies
>   in between.
>
> 2. Update devfreq driver
> - Update rk3399_dmc.c as following:
> : Convert dt-binding document to YAML and deprecate unused properties.
>
> : Use Hz units for the device-tree properties of rk3399_dmc.
>
> : rk3399_dmc is able to set the idle time before changing the dmc clock.
>   Specify idle time parameters by using nano-second unit on dt bidning.
>
> : Add new disable-freq properties to optimize the power-saving feature
>   of rk3399_dmc.
>
> : Disable devfreq-event device on remove() to fix unbalanced
>   enable-disable count.
>
> : Use devm_pm_opp_of_add_table()
>
> : Block PMU (Power-Management Unit) transitions when scaling frequency
>   by ARM Trust Firmware in order to fix the conflict between PMU and DMC
>   (Dynamic Memory Controller).
> ----------------------------------------------------------------
>
> Brian Norris (15):
>       dt-bindings: devfreq: rk3399_dmc: Convert to YAML
>       dt-bindings: devfreq: rk3399_dmc: Deprecate unused/redundant properties
>       dt-bindings: devfreq: rk3399_dmc: Fix Hz units
>       dt-bindings: devfreq: rk3399_dmc: Specify idle params in nanoseconds
>       dt-bindings: devfreq: rk3399_dmc: Add more disable-freq properties
>       PM / devfreq: rk3399_dmc: Drop undocumented ondemand DT props
>       PM / devfreq: rk3399_dmc: Drop excess timing properties
>       PM / devfreq: rk3399_dmc: Use bitfield macro definitions for ODT_PD
>       PM / devfreq: rk3399_dmc: Support new disable-freq properties
>       PM / devfreq: rk3399_dmc: Support new *-ns properties
>       PM / devfreq: rk3399_dmc: Disable edev on remove()
>       PM / devfreq: rk3399_dmc: Use devm_pm_opp_of_add_table()
>       PM / devfreq: rk3399_dmc: Avoid static (reused) profile
>       soc: rockchip: power-domain: Manage resource conflicts with firmware
>       PM / devfreq: rk3399_dmc: Block PMU during transitions
>
> Chanwoo Choi (3):
>       PM / devfreq: Export devfreq_get_freq_range symbol within devfreq
>       PM / devfreq: passive: Reduce duplicate code when passive_devfreq case
>       PM / devfreq: passive: Keep cpufreq_policy for possible cpus
>
> Saravana Kannan (1):
>       PM / devfreq: Add cpu based scaling support to passive governor
>
>  .../devicetree/bindings/devfreq/rk3399_dmc.txt     | 212 -----------
>  .../memory-controllers/rockchip,rk3399-dmc.yaml    | 384 ++++++++++++++++++++
>  drivers/devfreq/devfreq.c                          |  20 +-
>  drivers/devfreq/governor.h                         |  27 ++
>  drivers/devfreq/governor_passive.c                 | 403 +++++++++++++++++----
>  drivers/devfreq/rk3399_dmc.c                       | 312 ++++++++--------
>  drivers/soc/rockchip/pm_domains.c                  | 118 ++++++
>  include/linux/devfreq.h                            |  17 +-
>  include/soc/rockchip/pm_domains.h                  |  25 ++
>  9 files changed, 1063 insertions(+), 455 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt
>  create mode 100644 Documentation/devicetree/bindings/memory-controllers/rockchip,rk3399-dmc.yaml
>  create mode 100644 include/soc/rockchip/pm_domains.h

Pulled, thanks!
Chanwoo Choi May 19, 2022, 12:11 a.m. UTC | #2
On 5/19/22 4:04 AM, Rafael J. Wysocki wrote:
> On Wed, May 18, 2022 at 4:16 AM Chanwoo Choi <cw00.choi@samsung.com> wrote:
>>
>> Dear Rafael,
>>
>> This is devfreq-next pull request for v5.19-rc1. I add detailed description of
>> this pull request on the following tag. Please pull devfreq with
>> following updates.
>> - tag name : devfreq-next-for-5.19
>>
>> Best Regards,
>> Chanwoo Choi
>>
>>
>> The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:
>>
>>   Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)
>>
>> are available in the Git repository at:
>>
>>   git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git tags/devfreq-next-for-5.19
>>
>> for you to fetch changes up to 26984d9d581e5049bd75091d2e789b9cc3ea12e0:
>>
>>   PM / devfreq: passive: Keep cpufreq_policy for possible cpus (2022-05-17 18:24:39 +0900)
>>
>> ----------------------------------------------------------------
>> Update devfreq next for v5.19
>>
>> Detailed description for this pull request:
>> 1. Update devfreq core
>> - Add cpu based scaling support to passive governor. Some device like
>> cache might require the dynamic frequency scaling. But, it has very
>> tightly to cpu frequency. So that use passive governor to scale
>> the frequency according to current cpu frequency.
>>
>> To decide the frequency of the device, the governor does one of the following:
>> : Derives the optimal devfreq device opp from required-opps property of
>>   the parent cpu opp_table.
>>
>> : Scales the device frequency in proportion to the CPU frequency. So, if
>>   the CPUs are running at their max frequency, the device runs at its
>>   max frequency. If the CPUs are running at their min frequency, the
>>   device runs at its min frequency. It is interpolated for frequencies
>>   in between.
>>
>> 2. Update devfreq driver
>> - Update rk3399_dmc.c as following:
>> : Convert dt-binding document to YAML and deprecate unused properties.
>>
>> : Use Hz units for the device-tree properties of rk3399_dmc.
>>
>> : rk3399_dmc is able to set the idle time before changing the dmc clock.
>>   Specify idle time parameters by using nano-second unit on dt bidning.
>>
>> : Add new disable-freq properties to optimize the power-saving feature
>>   of rk3399_dmc.
>>
>> : Disable devfreq-event device on remove() to fix unbalanced
>>   enable-disable count.
>>
>> : Use devm_pm_opp_of_add_table()
>>
>> : Block PMU (Power-Management Unit) transitions when scaling frequency
>>   by ARM Trust Firmware in order to fix the conflict between PMU and DMC
>>   (Dynamic Memory Controller).
>> ----------------------------------------------------------------
>>
>> Brian Norris (15):
>>       dt-bindings: devfreq: rk3399_dmc: Convert to YAML
>>       dt-bindings: devfreq: rk3399_dmc: Deprecate unused/redundant properties
>>       dt-bindings: devfreq: rk3399_dmc: Fix Hz units
>>       dt-bindings: devfreq: rk3399_dmc: Specify idle params in nanoseconds
>>       dt-bindings: devfreq: rk3399_dmc: Add more disable-freq properties
>>       PM / devfreq: rk3399_dmc: Drop undocumented ondemand DT props
>>       PM / devfreq: rk3399_dmc: Drop excess timing properties
>>       PM / devfreq: rk3399_dmc: Use bitfield macro definitions for ODT_PD
>>       PM / devfreq: rk3399_dmc: Support new disable-freq properties
>>       PM / devfreq: rk3399_dmc: Support new *-ns properties
>>       PM / devfreq: rk3399_dmc: Disable edev on remove()
>>       PM / devfreq: rk3399_dmc: Use devm_pm_opp_of_add_table()
>>       PM / devfreq: rk3399_dmc: Avoid static (reused) profile
>>       soc: rockchip: power-domain: Manage resource conflicts with firmware
>>       PM / devfreq: rk3399_dmc: Block PMU during transitions
>>
>> Chanwoo Choi (3):
>>       PM / devfreq: Export devfreq_get_freq_range symbol within devfreq
>>       PM / devfreq: passive: Reduce duplicate code when passive_devfreq case
>>       PM / devfreq: passive: Keep cpufreq_policy for possible cpus
>>
>> Saravana Kannan (1):
>>       PM / devfreq: Add cpu based scaling support to passive governor
>>
>>  .../devicetree/bindings/devfreq/rk3399_dmc.txt     | 212 -----------
>>  .../memory-controllers/rockchip,rk3399-dmc.yaml    | 384 ++++++++++++++++++++
>>  drivers/devfreq/devfreq.c                          |  20 +-
>>  drivers/devfreq/governor.h                         |  27 ++
>>  drivers/devfreq/governor_passive.c                 | 403 +++++++++++++++++----
>>  drivers/devfreq/rk3399_dmc.c                       | 312 ++++++++--------
>>  drivers/soc/rockchip/pm_domains.c                  | 118 ++++++
>>  include/linux/devfreq.h                            |  17 +-
>>  include/soc/rockchip/pm_domains.h                  |  25 ++
>>  9 files changed, 1063 insertions(+), 455 deletions(-)
>>  delete mode 100644 Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt
>>  create mode 100644 Documentation/devicetree/bindings/memory-controllers/rockchip,rk3399-dmc.yaml
>>  create mode 100644 include/soc/rockchip/pm_domains.h
> 
> Pulled, thanks!
> 
> 

Dear Rafael,

The some changes on this pull request contains the not fixed issue
related to devfrq passive governor. After sending the pull request,
I got it. But, this issue don't cause the crash. Just failed to
change the frequency of device which using passive governor.

I'll send the separate fixup patch. Thanks.

Best Regards,
Chanwoo Choi
Samsung Electronics