Hi Rob, Thanks for the review. On 10/29/2019 04:16 PM, Rob Herring wrote: > On Tue, Oct 29, 2019 at 5:07 AM Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: >> >> On Tue, 29 Oct 2019 at 02:36, Rob Herring <robh@xxxxxxxxxx> wrote: >>> >>> On Thu, Oct 17, 2019 at 12:10:15PM -0400, Thara Gopinath wrote: >>>> On 10/17/2019 11:43 AM, Ulf Hansson wrote: >>>>> On Thu, 17 Oct 2019 at 17:28, Thara Gopinath <thara.gopinath@xxxxxxxxxx> wrote: >>>>>> >>>>>> Hello Ulf, >>>>>> Thanks for the review! >>>>>> >>>>>> On 10/17/2019 05:04 AM, Ulf Hansson wrote: >>>>>>> On Wed, 16 Oct 2019 at 21:37, Thara Gopinath <thara.gopinath@xxxxxxxxxx> wrote: >>>>>>>> >>>>>>>> RPMh power controller hosts mx domain that can be used as thermal >>>>>>>> warming device. Add a sub-node to specify this. >>>>>>>> >>>>>>>> Signed-off-by: Thara Gopinath <thara.gopinath@xxxxxxxxxx> >>>>>>>> --- >>>>>>>> Documentation/devicetree/bindings/power/qcom,rpmpd.txt | 10 ++++++++++ >>>>>>>> 1 file changed, 10 insertions(+) >>>>>>>> >>>>>>>> diff --git a/Documentation/devicetree/bindings/power/qcom,rpmpd.txt b/Documentation/devicetree/bindings/power/qcom,rpmpd.txt >>>>>>>> index eb35b22..fff695d 100644 >>>>>>>> --- a/Documentation/devicetree/bindings/power/qcom,rpmpd.txt >>>>>>>> +++ b/Documentation/devicetree/bindings/power/qcom,rpmpd.txt >>>>>>>> @@ -18,6 +18,16 @@ Required Properties: >>>>>>>> Refer to <dt-bindings/power/qcom-rpmpd.h> for the level values for >>>>>>>> various OPPs for different platforms as well as Power domain indexes >>>>>>>> >>>>>>>> += SUBNODES >>>>>>>> +RPMh alsp hosts power domains that can behave as thermal warming device. >>>>>>>> +These are expressed as subnodes of the RPMh. The name of the node is used >>>>>>>> +to identify the power domain and must therefor be "mx". >>>>>>>> + >>>>>>>> +- #cooling-cells: >>>>>>>> + Usage: optional >>>>>>>> + Value type: <u32> >>>>>>>> + Definition: must be 2 >>>>>>>> + >>>>>>> >>>>>>> Just wanted to express a minor thought about this. In general we use >>>>>>> subnodes of PM domain providers to represent the topology of PM >>>>>>> domains (subdomains), this is something different, which I guess is >>>>>>> fine. >>>>>>> >>>>>>> I assume the #cooling-cells is here tells us this is not a PM domain >>>>>>> provider, but a "cooling device provider"? >>>>>> Yep. >>>>>>> >>>>>>> Also, I wonder if it would be fine to specify "power-domains" here, >>>>>>> rather than using "name" as I think that is kind of awkward!? >>>>>> Do you mean "power-domain-names" ? I am using this to match against the >>>>>> genpd names defined in the provider driver. >>>>> >>>>> No. If you are using "power-domains" it means that you allow to >>>>> describe the specifier for the provider. >>>> Yep. But won't this look funny in DT ? The provider node will have a sub >>>> node with a power domain referencing to itself Like below: Is this ok ? >>>> >>>> rpmhpd: power-controller { >>>> compatible = "qcom,sdm845-rpmhpd"; >>>> #power-domain-cells = <1>; >>>> >>>> ... >>>> ... >>>> mx_cdev: mx { >>>> #cooling-cells = <2>; >>>> power-domains = <&rpmhpd SDM845_MX>; >>>> }; >>>> >>> >>> The whole concept here seems all wrong to me. Isn't it what's in the >>> power domain that's the cooling device. A CPU power domain is not a >>> cooling device, the CPU is. Or we wouldn't make a clock a cooling >>> device, but what the clock drives. >> >> Well, I don't think that's entirely correct description either. >> >> As I see it, it's really the actual PM domain (that manages voltages >> for a power island), that needs to stay in full power state and >> increase its voltage level, as to warm up some of the silicon. It's >> not a regular device, but more a characteristics of how the PM domain >> can be used. > > First I've heard of Si needing warming... Cold regions and non-closing of circuits is what I am told. > > I think I'd just expect the power domain provider to know which > domains to power on then. I will just retain #cooling-cells in the power domain provider and let the driver identify the actual power domains. > > Rob > -- Warm Regards Thara