[PATCH v4 0/4] Introduce "opp-microwatt" and Energy Model from DT

From: Lukasz Luba
Date: Tue Mar 01 2022 - 04:36:10 EST


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:
v4:
- changed calculation of power, summing add all supliers power for an opp
- added opp debugfs for u_watt
- added patternProperties in dt-bindings for this new opp-microwatt
- changed the EM opp registration flow and used one EM api registration call
- changed name of _get_opp_power() to _get_dt_power()
- removed 'advanced' word from the new paragraph and content in EM doc changes
v3 [2]

Regards,
Lukasz Luba

[1] https://lore.kernel.org/linux-pm/20220207073036.14901-2-lukasz.luba@xxxxxxx/
[2] https://lore.kernel.org/linux-pm/20220224081131.27282-1-lukasz.luba@xxxxxxx/

Lukasz Luba (4):
dt-bindings: opp: Add "opp-microwatt" entry in the OPP
OPP: Add "opp-microwatt" supporting code
OPP: Add support of "opp-microwatt" for advanced 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 | 104 +++++++++++++++++-
include/linux/pm_opp.h | 12 +-
6 files changed, 174 insertions(+), 3 deletions(-)

--
2.17.1