OPP: decouple dt properties in opp_parse_supplies()
authorJames Calligeros <jcalligeros99@gmail.com>
Thu, 3 Nov 2022 09:10:44 +0000 (14:40 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Fri, 4 Nov 2022 05:29:07 +0000 (10:59 +0530)
commit2eedf62e66c28f6991425b580af68b3d89fa8021
tree3fcadc5cd4066ac4a5df66c2828daa1e7aa51eea
parente5acb1991b5884d86f113d7841024234c465c501
OPP: decouple dt properties in opp_parse_supplies()

The opp-microwatt property was added with the intention of providing
platforms a way to specify a precise value for the power consumption
of a device at a given OPP to enable better energy-aware scheduling
decisions by informing the kernel of the total static and dynamic
power of a device at a given OPP, removing the reliance on the EM
subsystem's often flawed estimations. This property is parsed by
opp_parse_supplies(), which creates a hard dependency on the
opp-microvolt property.

Some platforms, such as Apple Silicon, do not describe their device's
voltage regulators in the DT as they cannot be controlled by the kernel
and/or rely on opaque firmware algorithms to control their voltage and
current characteristics at runtime. We can, however, experimentally
determine the power consumption of a given device at a given OPP, taking
advantage of opp-microwatt to provide EAS on such devices as was
initially intended.

Allow platforms to specify and consume any subset of opp-microvolt,
opp-microamp, or opp-microwatt without a hard dependency on
opp-microvolt to enable this functionality on such platforms.

Tested-by: James Calligeros <jcalligeros99@gmail.com>
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
Co-developed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/opp/of.c