Rob, ? 2017?07?18? 04:07, Rob Herring ??: > On Mon, Jul 17, 2017 at 04:14:28PM +0800, Caesar Wang wrote: >> This patch adds the MALI's power-model to set the IPA model to be used >> for power management. > What's IPA? India Pale Ale or Intermediate Physical Address? IPA is intelligent Power Allocator. (As the ARM introduced on https://developer.arm.com/open-source/intelligent-power-allocation) > >> Signed-off-by: Caesar Wang <wxt at rock-chips.com> >> --- >> >> Changes in v2: None >> >> Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt >> index a461e47..b616e6b 100644 >> --- a/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt >> +++ b/Documentation/devicetree/bindings/gpu/arm,mali-midgard.txt >> @@ -37,6 +37,18 @@ Optional properties: >> - operating-points-v2 : Refer to Documentation/devicetree/bindings/power/opp.txt >> for details. >> >> +- power_model : Sets power model parameters. Note that this model was designed for the Juno >> + platform, and may not be suitable for other platforms. A structure containing : >> + - compatible: Should be arm,mali-simple-power-model >> + - dynamic-coefficient: Coefficient, in pW/(Hz V^2), which is multiplied >> + by v^2*f to calculate the dynamic power consumption. >> + - static-coefficient: Coefficient, in uW/V^3, which is multiplied by >> + v^3 to calculate the static power consumption. >> + - ts: An array containing coefficients for the temperature scaling >> + factor. This is used to scale the static power by a factor of >> + tsf/1000000, where tsf = ts[3]*T^3 + ts[2]*T^2 + ts[1]*T + ts[0], >> + and T = temperature in degrees. >> + - thermal-zone: A string identifying the thermal zone used for the GPU > This can all easily be implied by the compatible string. I'm not > inclined to accept something Mali specific here. Isn't arm,mali-midgard.txt document suit for Mali specific? :-) > > This looks *very* precise, but I'd be surprised if these values are any > more than magic values (at least the dynamic coef) adjusted until the > desired power/performance requirements are achieved. To put it another > way, why don't we have similar values for CPUs? These value was calculated by running full GPU process. CPU had the similar value for dtsi. Say: arch/arm64/boot/dts/rockchip/rk3399.dtsi cpu_b0: cpu at 100 { ... dynamic-power-coefficient = <436>; ... }; -Caesar > > Rob > > >