From: Wei Ni <wni@nvidia.com>
To: Eduardo Valentin <eduardo.valentin@ti.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
Matthew Longnecker <MLongnecker@nvidia.com>,
"swarren@wwwdotorg.org" <swarren@wwwdotorg.org>,
Pawel Moll <Pawel.Moll@arm.com>,
"ian.campbell@citrix.com" <ian.campbell@citrix.com>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
"linux@roeck-us.net" <linux@roeck-us.net>,
"rui.zhang@intel.com" <rui.zhang@intel.com>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
"durgadoss.r@intel.com" <durgadoss.r@intel.com>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"lm-sensors@lm-sensors.org" <lm-sensors@lm-sensors.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv9 02/20] thermal: introduce device tree parser
Date: Tue, 14 Jan 2014 10:54:23 +0800 [thread overview]
Message-ID: <52D4A6DF.806@nvidia.com> (raw)
In-Reply-To: <52D45AC8.1010607@ti.com>
On 01/14/2014 05:29 AM, Eduardo Valentin wrote:
> * PGP Signed by an unknown key
>
> Wei,
>
> On 06-01-2014 22:44, Wei Ni wrote:
>> On 01/06/2014 10:54 PM, Eduardo Valentin wrote:
>>>> Old Signed by an unknown key
>>>
>>> On 06-01-2014 09:51, Mark Rutland wrote:
>>>> On Thu, Jan 02, 2014 at 05:50:06PM +0000, Matthew Longnecker wrote:
>>>>>
>>>>>> I think the platform driver may set governor for the thermal zone,
>>>>>> so how about to add a property named as "governor",
>>>>>> and parse it to tzp->governor_name,
>>>>>> something like:
>>>>>> ret = of_property_read_string(child, "governor", &str);
>>>>>> if (ret == 0)
>>>>>> if (strlen(str) < THERMAL_NAME_LENGTH)
>>>>>> strcpy(tzp->governor_name, str);
>>>>>>
>>>>>> Thanks.
>>>>>> Wei.
>>>>>
>>>>> DT is supposed to describe the hardware, right? The governor isn't
>>>>> hardware -- it's a software control policy. On the other hand, that
>>>>> control policy must be tuned according to the behaviors of the platform
>>>>> hardware otherwise the system will be unstable.
>>>>>
>>>>> Is it appropriate to be naming the governor in DT? If so, is it equally
>>>>> appropriate to describe any governor-specific parameters in DT (even
>>>>> though they are pure software constructs)?
>>>>
>>>> The dt should be relatively static -- if the hardware doesn't change the
>>>> dt shouldn't have to.
>>>>
>>>> The governers are not static. We can introduce new ones and throw away
>>>> old ones at any time. Tuning parameters can also change at any time.
>>>>
>>>> I'd prefer to not have governer details described in the dt, and the
>>>> choice of governer and configuration of its tuning parameters should be
>>>> made at runtime somehow.
>>>
>>> Agreed.
>>
>> Yes, I think so, but the of-thermal driver handle the
>> thermal_zone_device_register, and pass the "tzp" without governor_name,
>
> In fact, it will fall into the default governor, which is step_wise, by
> default config.
In the thermal_zone_device_register(), it has following codes:
if (tz->tzp)
tz->governor = __find_governor(tz->tzp->governor_name);
else
tz->governor = __find_governor(DEFAULT_THERMAL_GOVERNOR);
It mean if the tz->tzp is not NULL, and the governor_name is NULL, then
the __find_governor() will return NULL, so the tz->governor is NULL, it
can't fall into the default governor. And in the of-thermal driver, it
call the thermal_zone_device_register(), and pass the "tzp" without
governor_name.
I think if we want to change the governor in user space, we need to fix
this first.
>
>> so the created thermal_zone's governor will be NULL, then it can't run
>> into the governor->throttle() if needed. And currently there have no
>
> Actually, no, the tz will be set to default governor, and its throttle
> call will be called.
>
>> interface to support updating governor and configuration at runtime.
>> I think it's better to initialize the governor_name when register the
>> thermal zone device in the of-thermal driver.
>
> Still, why would you need to change the governor from a in kernel
> decision? There is an ABI to change the thermal zone policy based on
> user(land) request. If you need to change the policy from within the
> kernel, which seams to be what you are trying to propose, you need to
> explain why you need it, say, by giving at least one user of this API or
> explaining its use case.
The thermal_zone_device_register() support to set the governor which you
want, but with the of-thermal framework, it only support to set to
default governor, if fix above issue. I think the driver which use the
of-thermal should be able to set to any governors which it want, in its
initialization. So I add the function thermal_update_governor().
>
>>
>> Thanks.
>>
>>>
>>>>
>>>> Thanks,
>>>> Mark.
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
next prev parent reply other threads:[~2014-01-14 2:54 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-12 19:46 [PATCHv5 00/20] device thermal limits represented in device tree nodes (v5) Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 01/20] thermal: allow registering without .get_temp Eduardo Valentin
2013-11-12 19:46 ` [PATCHv9 02/20] thermal: introduce device tree parser Eduardo Valentin
[not found] ` <1384285582-16933-3-git-send-email-eduardo.valentin-l0cyMroinI0@public.gmane.org>
2013-11-13 16:57 ` Tomasz Figa
2013-11-14 11:31 ` Eduardo Valentin
2013-11-14 13:40 ` Tomasz Figa
2013-11-15 13:19 ` Eduardo Valentin
2013-11-21 14:57 ` Tomasz Figa
2013-11-21 15:48 ` Eduardo Valentin
2013-11-21 16:32 ` Tomasz Figa
2013-11-22 12:33 ` Eduardo Valentin
[not found] ` <528F4F1E.60903-l0cyMroinI0@public.gmane.org>
2013-11-25 15:31 ` Mark Rutland
[not found] ` <20131125153118.GG32081-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-25 15:40 ` Eduardo Valentin
2013-11-25 15:41 ` Eduardo Valentin
2013-11-25 15:14 ` Mark Rutland
2013-11-25 15:34 ` Eduardo Valentin
2013-11-15 8:07 ` [lm-sensors] " Jean Delvare
2013-11-18 6:04 ` Zhang Rui
2013-11-18 14:45 ` Eduardo Valentin
2013-11-19 14:43 ` Jean Delvare
2013-11-25 15:37 ` Mark Rutland
[not found] ` <20131125153721.GH32081-NuALmloUBlrZROr8t4l/smS4ubULX0JqMm0uRHvK7Nw@public.gmane.org>
2013-11-25 15:47 ` Eduardo Valentin
2013-12-31 10:17 ` Wei Ni
[not found] ` <52C299A8.4010108-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-01-07 2:48 ` Wei Ni
[not found] ` <52CB6AE2.2090002-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-01-07 11:17 ` Eduardo Valentin
2014-01-08 3:19 ` Wei Ni
2014-01-08 3:24 ` Hu Yaohui
[not found] ` <CAHqbYQvchi3QSgcitUtguFyOJtXhFt5OjcoiSDZnPg9ZyiN4cg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-08 4:16 ` Wei Ni
2014-01-02 2:55 ` Wei Ni
2014-01-02 3:03 ` Wei Ni
2014-01-02 2:59 ` Wei Ni
2014-01-02 17:50 ` Matthew Longnecker
2014-01-06 13:51 ` Mark Rutland
2014-01-06 14:54 ` Eduardo Valentin
2014-01-07 2:44 ` Wei Ni
2014-01-07 12:02 ` Mark Rutland
2014-01-13 21:29 ` Eduardo Valentin
2014-01-14 2:54 ` Wei Ni [this message]
2014-01-14 18:48 ` Eduardo Valentin
2014-01-13 15:37 ` Eduardo Valentin
2014-01-02 17:35 ` Matthew Longnecker
[not found] ` <52C5A344.2060908-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-01-06 18:52 ` Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 03/20] thermal: core: introduce thermal_of_cooling_device_register Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 04/20] thermal: cpu_cooling: introduce of_cpufreq_cooling_register Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 05/20] cpufreq: cpufreq-cpu0: add dt node parsing for cooling device properties Eduardo Valentin
2013-11-14 13:17 ` Eduardo Valentin
2013-11-14 22:04 ` Rafael J. Wysocki
2013-11-15 4:41 ` viresh kumar
2014-01-12 14:31 ` Zhang, Rui
2014-01-13 15:08 ` Eduardo Valentin
2014-01-14 19:07 ` Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 06/20] hwmon: lm75: expose to thermal fw via DT nodes Eduardo Valentin
2013-11-15 7:43 ` Jean Delvare
2013-11-18 14:27 ` Eduardo Valentin
2013-11-18 16:25 ` Guenter Roeck
2013-11-18 16:40 ` Eduardo Valentin
2013-11-19 9:39 ` Jean Delvare
2013-11-22 14:37 ` Eduardo Valentin
2013-11-23 18:38 ` Jean Delvare
2013-11-12 19:46 ` [PATCHv5 07/20] hwmon: tmp102: " Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 08/20] thermal: ti-soc-thermal: use thermal DT infrastructure Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 09/20] arm: dts: add omap4 CPU thermal data Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 10/20] arm: dts: add omap4430 " Eduardo Valentin
2013-11-20 12:32 ` Pavel Machek
2013-11-21 15:36 ` Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 11/20] arm: dts: add omap4460 " Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 12/20] arm: dts: add cooling properties on omap4430 cpu node Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 13/20] arm: dts: add cooling properties on omap4460 " Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 14/20] arm: dts: add omap5 GPU thermal data Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 15/20] arm: dts: add omap5 CORE " Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 16/20] arm: dts: add omap5 " Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 17/20] arm: dts: add cooling properties on omap5 cpu node Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 18/20] arm: dts: make OMAP443x bandgap node to belong to OCP Eduardo Valentin
2013-11-12 19:46 ` [PATCHv5 19/20] arm: dts: make OMAP4460 " Eduardo Valentin
[not found] ` <1384285582-16933-1-git-send-email-eduardo.valentin-l0cyMroinI0@public.gmane.org>
2013-11-12 19:46 ` [PATCHv5 20/20] MAINTAINERS: add maintainer entry for thermal bindings Eduardo Valentin
2013-11-12 19:59 ` Olof Johansson
2013-11-12 20:14 ` Eduardo Valentin
2013-11-13 9:42 ` Mark Rutland
2013-11-13 12:17 ` Eduardo Valentin
2013-11-13 14:46 ` Eduardo Valentin
2013-11-14 13:30 ` [PATCHv6 20/20] MAINTAINERS: add thermal bindings entry in thermal domain Eduardo Valentin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52D4A6DF.806@nvidia.com \
--to=wni@nvidia.com \
--cc=MLongnecker@nvidia.com \
--cc=Pawel.Moll@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=durgadoss.r@intel.com \
--cc=eduardo.valentin@ti.com \
--cc=grant.likely@linaro.org \
--cc=ian.campbell@citrix.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=lm-sensors@lm-sensors.org \
--cc=mark.rutland@arm.com \
--cc=rob.herring@calxeda.com \
--cc=rui.zhang@intel.com \
--cc=swarren@wwwdotorg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).