Messages in this thread | | | From | Daniel Lezcano <> | Subject | Re: [PATCH 1/2] DT: bindings: Add cooling cells for idle states | Date | Sat, 11 Jan 2020 18:32:48 +0100 |
| |
Hi Rob,
On Wed, 8 Jan 2020 at 15:03, Rob Herring <robh@kernel.org> wrote: > > On Thu, Dec 19, 2019 at 11:19:27PM +0100, Daniel Lezcano wrote: > > Add DT documentation to add an idle state as a cooling device. The CPU > > is actually the cooling device but the definition is already used by > > frequency capping. As we need to make cpufreq capping and idle > > injection to co-exist together on the system in order to mitigate at > > different trip points, the CPU can not be used as the cooling device > > for idle injection. The idle state can be seen as an hardware feature > > and therefore as a component for the passive mitigation. > > > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > > --- > > Documentation/devicetree/bindings/arm/idle-states.txt | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > This is now a schema in my tree. Can you rebase on that and I'll pick up > the binding change.
Mmh, I'm now having some doubts about this binding because it will restrict any improvement of the cooling device for the future.
It looks like adding a node to the CPU for the cooling device is more adequate. eg: CPU0: cpu@300 { device_type = "cpu"; compatible = "arm,cortex-a9"; reg = <0x300>; /* cpufreq controls */ operating-points = <998400 0 800000 0 400000 0 200000 0>; clocks = <&prcmu_clk PRCMU_ARMSS>; clock-names = "cpu"; clock-latency = <20000>; #cooling-cells = <2>; thermal-idle { #cooling-cells = <2>; }; };
[ ... ]
cooling-device = <&{/cpus/cpu@300/thermal-idle} THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
A quick test with different configurations combination shows it is much more flexible and it is open for future changes.
What do you think?
| |