mbox series

[v5,0/5] Introduce "opp-microwatt" and Energy Model from DT

Message ID 20220302112917.27270-1-lukasz.luba@arm.com (mailing list archive)
Headers show
Series Introduce "opp-microwatt" and Energy Model from DT | expand

Message

Lukasz Luba March 2, 2022, 11:29 a.m. UTC
Hi all,

This patch set solves a few issues:
1. It allows to register EM from DT, when the voltage information is not
   available. (Some background of the issues present on Chromebook devices
   can be checked at [1].)
2. It allows to register 'advanced' EM from the DT, which is more accurate
   and reflects total power (dynamic + static).

Implementation details:
Existing machinery in the OPP framework now handles "opp-microwatt", similarly
to "opp-microamp". It also has helper exported function to get power from OPP.
For the EM, it adds a new callback in OPP framework to use this new API and
read power while having an opp pointer. It's agreed to work with OPP-v2.

Comments, suggestions are very welcome.

changelog:
v5:
- added dual-macro to conditionally setup needed callback and compile
  on !EM kernel gently
- removed 'advanced' word from OPP patch header description
v4 [2]

Regards,
Lukasz Luba

[1] https://lore.kernel.org/linux-pm/20220207073036.14901-2-lukasz.luba@arm.com/
[2] https://lore.kernel.org/linux-pm/20220301093524.8870-1-lukasz.luba@arm.com/


Lukasz Luba (5):
  dt-bindings: opp: Add "opp-microwatt" entry in the OPP
  OPP: Add "opp-microwatt" supporting code
  PM: EM: add macro to set .active_power() callback conditionally
  OPP: Add support of "opp-microwatt" for EM registration
  Documentation: EM: Describe new registration method using DT

 .../devicetree/bindings/opp/opp-v2-base.yaml  |  23 ++++
 Documentation/power/energy-model.rst          |  10 ++
 drivers/opp/core.c                            |  25 ++++
 drivers/opp/debugfs.c                         |   3 +
 drivers/opp/of.c                              | 108 +++++++++++++++++-
 include/linux/energy_model.h                  |   2 +
 include/linux/pm_opp.h                        |  12 +-
 7 files changed, 179 insertions(+), 4 deletions(-)

Comments

Viresh Kumar March 3, 2022, 4:05 a.m. UTC | #1
On 02-03-22, 11:29, Lukasz Luba wrote:
> Hi all,
> 
> This patch set solves a few issues:
> 1. It allows to register EM from DT, when the voltage information is not
>    available. (Some background of the issues present on Chromebook devices
>    can be checked at [1].)
> 2. It allows to register 'advanced' EM from the DT, which is more accurate
>    and reflects total power (dynamic + static).
> 
> Implementation details:
> Existing machinery in the OPP framework now handles "opp-microwatt", similarly
> to "opp-microamp". It also has helper exported function to get power from OPP.
> For the EM, it adds a new callback in OPP framework to use this new API and
> read power while having an opp pointer. It's agreed to work with OPP-v2.
> 
> Comments, suggestions are very welcome.
> 
> changelog:
> v5:
> - added dual-macro to conditionally setup needed callback and compile
>   on !EM kernel gently
> - removed 'advanced' word from OPP patch header description
> v4 [2]

Applied. Thanks.
Lukasz Luba March 3, 2022, 6:57 a.m. UTC | #2
On 3/3/22 04:05, Viresh Kumar wrote:
> On 02-03-22, 11:29, Lukasz Luba wrote:
>> Hi all,
>>
>> This patch set solves a few issues:
>> 1. It allows to register EM from DT, when the voltage information is not
>>     available. (Some background of the issues present on Chromebook devices
>>     can be checked at [1].)
>> 2. It allows to register 'advanced' EM from the DT, which is more accurate
>>     and reflects total power (dynamic + static).
>>
>> Implementation details:
>> Existing machinery in the OPP framework now handles "opp-microwatt", similarly
>> to "opp-microamp". It also has helper exported function to get power from OPP.
>> For the EM, it adds a new callback in OPP framework to use this new API and
>> read power while having an opp pointer. It's agreed to work with OPP-v2.
>>
>> Comments, suggestions are very welcome.
>>
>> changelog:
>> v5:
>> - added dual-macro to conditionally setup needed callback and compile
>>    on !EM kernel gently
>> - removed 'advanced' word from OPP patch header description
>> v4 [2]
> 
> Applied. Thanks.
> 

Thank you Viresh for your reviews.

Regards,
Lukasz