Re: [PATCH 1/2] DT: bindings: Add cooling cells for idle states

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 11, 2020 at 11:32 AM Daniel Lezcano
<daniel.lezcano@xxxxxxxxxx> wrote:
>
> Hi Rob,
>
>
> On Wed, 8 Jan 2020 at 15:03, Rob Herring <robh@xxxxxxxxxx> 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@xxxxxxxxxx>
> > > ---
> > >  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?

Why do you need #cooling-cells in both cpu node and a child node? It's
really only 1 device.

Maybe you could add another cell to contain an idle state node if that helps?

Rob



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux