Re: [PATCH v2 3/3] dt-bindings: thermal: update sustainable-power with abstract scale
From: Lukasz Luba <lukasz.luba@arm.com>
Date: 2020-10-02 15:13:03
Also in:
linux-devicetree, linux-pm, lkml
Hi Doug, On 10/2/20 3:31 PM, Doug Anderson wrote:
Hi, On Fri, Oct 2, 2020 at 4:45 AM Lukasz Luba [off-list ref] wrote:quoted
Update the documentation for the binding 'sustainable-power' and allow to provide values in an abstract scale. It is required when the cooling devices use an abstract scale for their power values. Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> --- .../devicetree/bindings/thermal/thermal-zones.yaml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)diff --git a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml index 3ec9cc87ec50..4d8f2e37d1e6 100644 --- a/Documentation/devicetree/bindings/thermal/thermal-zones.yaml +++ b/Documentation/devicetree/bindings/thermal/thermal-zones.yaml@@ -99,10 +99,15 @@ patternProperties: sustainable-power: $ref: /schemas/types.yaml#/definitions/uint32 description: - An estimate of the sustainable power (in mW) that this thermal zone - can dissipate at the desired control temperature. For reference, the - sustainable power of a 4-inch phone is typically 2000mW, while on a - 10-inch tablet is around 4500mW. + An estimate of the sustainable power (in mW or in an abstract scale) + that this thermal zone can dissipate at the desired control + temperature. For reference, the sustainable power of a 4-inch phone + is typically 2000mW, while on a 10-inch tablet is around 4500mW. + + It is possible to express the sustainable power in an abstract + scale. This is the case when the related cooling devices use also + abstract scale to express their power usage. The scale must be + consistent.Two thoughts: 1. If we're going to allow "sustainable-power" to be in abstract scale, why not allow "dynamic-power-coefficient" to be in abstract scale too? I assume that the whole reason against that originally was the idea of device tree purity, but if we're allowing the abstract scale here then there seems no reason not to allow it for "dynamic-power-coefficient".
With this binding it's a bit more tricky. I also have to discuss a few things internally. This requirement of uW/MHz/V^2 makes the code easier also for potential drivers like GPU (which are going to register the devfreq cooling with EM). Let me think about it, but for now I would just update these bits. These are required to proper IPA operation, the dyn.-pow.-coef. is a nice to have and possible next step.
2. Is it worth adding some type of indication of what type of units "sustainable-power" is represented in? Maybe even a made up unit so that you could tell the difference between made up units in the same system? I'd envision something like: sustainable-power-units = "qualcomm,sc7180-bogoWatts" ...and on the dynamic-power-coefficient side, the same: dynamic-power-coefficient-units = "qualcomm,sc7180-bogoWatts" One could imagine someone even later (after devices are widely distributed) figuring out translations between these bogoWatts numbers and real Watts if someone could come up with a case where it matters.
To figure this out we don't need a new binding. I think a simple comment in the DT would be enough for this, even e.g.: sustainable-power = <100> /* bogoWatts */ Thank you for your comments. BTW, I haven't put your 'Reviewed-by' because I have added this sustainable-power new stuff in patch 1/3. I will grateful if you have a look on that. Regards, Lukasz