From: Eduardo Valentin <eduardo.valentin@ti.com>
To: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <eduardo.valentin@ti.com>,
linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
durgadoss.r@intel.com, Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCHv3 3/3] staging: ti-soc-thermal: remove external heat while extrapolating hotspot
Date: Mon, 15 Apr 2013 09:24:19 -0400 [thread overview]
Message-ID: <516BFF83.8040800@ti.com> (raw)
In-Reply-To: <1365990259.2803.4.camel@rzhang1-mobl4>
On 14-04-2013 21:44, Zhang Rui wrote:
> On Fri, 2013-04-05 at 08:32 -0400, Eduardo Valentin wrote:
>> For boards that provide a PCB sensor close to SoC junction
>> temperature, it is possible to remove the cumulative heat
>> reported by the SoC temperature sensor.
>>
>> This patch changes the extrapolation computation to consider
>> an external sensor in the extrapolation equations.
>>
>> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
>
> hmm, who should take this patch?
>
I will send this one to Greg, maintainer of the staging tree.
BTW, Rui, do you think there is still time to send the TI driver out of
the drivers/staging/ti-soc-thermal to drivers/thermal/ti-soc-thermal for
3.10? If yes, I can send a series straight away.
> thanks,
> rui
>> ---
>> drivers/staging/ti-soc-thermal/ti-thermal-common.c | 30 +++++++++++++------
>> 1 files changed, 20 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/staging/ti-soc-thermal/ti-thermal-common.c b/drivers/staging/ti-soc-thermal/ti-thermal-common.c
>> index 231c549..780368b 100644
>> --- a/drivers/staging/ti-soc-thermal/ti-thermal-common.c
>> +++ b/drivers/staging/ti-soc-thermal/ti-thermal-common.c
>> @@ -38,6 +38,7 @@
>> /* common data structures */
>> struct ti_thermal_data {
>> struct thermal_zone_device *ti_thermal;
>> + struct thermal_zone_device *pcb_tz;
>> struct thermal_cooling_device *cool_dev;
>> struct ti_bandgap *bgp;
>> enum thermal_device_mode mode;
>> @@ -77,10 +78,12 @@ static inline int ti_thermal_hotspot_temperature(int t, int s, int c)
>> static inline int ti_thermal_get_temp(struct thermal_zone_device *thermal,
>> unsigned long *temp)
>> {
>> + struct thermal_zone_device *pcb_tz = NULL;
>> struct ti_thermal_data *data = thermal->devdata;
>> struct ti_bandgap *bgp;
>> const struct ti_temp_sensor *s;
>> - int ret, tmp, pcb_temp, slope, constant;
>> + int ret, tmp, slope, constant;
>> + unsigned long pcb_temp;
>>
>> if (!data)
>> return 0;
>> @@ -92,16 +95,22 @@ static inline int ti_thermal_get_temp(struct thermal_zone_device *thermal,
>> if (ret)
>> return ret;
>>
>> - pcb_temp = 0;
>> - /* TODO: Introduce pcb temperature lookup */
>> + /* Default constants */
>> + slope = s->slope;
>> + constant = s->constant;
>> +
>> + pcb_tz = data->pcb_tz;
>> /* In case pcb zone is available, use the extrapolation rule with it */
>> - if (pcb_temp) {
>> - tmp -= pcb_temp;
>> - slope = s->slope_pcb;
>> - constant = s->constant_pcb;
>> - } else {
>> - slope = s->slope;
>> - constant = s->constant;
>> + if (!IS_ERR_OR_NULL(pcb_tz)) {
>> + ret = thermal_zone_get_temp(pcb_tz, &pcb_temp);
>> + if (!ret) {
>> + tmp -= pcb_temp; /* got a valid PCB temp */
>> + slope = s->slope_pcb;
>> + constant = s->constant_pcb;
>> + } else {
>> + dev_err(bgp->dev,
>> + "Failed to read PCB state. Using defaults\n");
>> + }
>> }
>> *temp = ti_thermal_hotspot_temperature(tmp, slope, constant);
>>
>> @@ -248,6 +257,7 @@ static struct ti_thermal_data
>> data->sensor_id = id;
>> data->bgp = bgp;
>> data->mode = THERMAL_DEVICE_ENABLED;
>> + data->pcb_tz = thermal_zone_get_zone_by_name("pcb");
>> INIT_WORK(&data->thermal_wq, ti_thermal_work);
>>
>> return data;
>
>
>
>
WARNING: multiple messages have this Message-ID (diff)
From: Eduardo Valentin <eduardo.valentin@ti.com>
To: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <eduardo.valentin@ti.com>,
<linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<durgadoss.r@intel.com>, Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCHv3 3/3] staging: ti-soc-thermal: remove external heat while extrapolating hotspot
Date: Mon, 15 Apr 2013 09:24:19 -0400 [thread overview]
Message-ID: <516BFF83.8040800@ti.com> (raw)
In-Reply-To: <1365990259.2803.4.camel@rzhang1-mobl4>
On 14-04-2013 21:44, Zhang Rui wrote:
> On Fri, 2013-04-05 at 08:32 -0400, Eduardo Valentin wrote:
>> For boards that provide a PCB sensor close to SoC junction
>> temperature, it is possible to remove the cumulative heat
>> reported by the SoC temperature sensor.
>>
>> This patch changes the extrapolation computation to consider
>> an external sensor in the extrapolation equations.
>>
>> Signed-off-by: Eduardo Valentin <eduardo.valentin@ti.com>
>
> hmm, who should take this patch?
>
I will send this one to Greg, maintainer of the staging tree.
BTW, Rui, do you think there is still time to send the TI driver out of
the drivers/staging/ti-soc-thermal to drivers/thermal/ti-soc-thermal for
3.10? If yes, I can send a series straight away.
> thanks,
> rui
>> ---
>> drivers/staging/ti-soc-thermal/ti-thermal-common.c | 30 +++++++++++++------
>> 1 files changed, 20 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/staging/ti-soc-thermal/ti-thermal-common.c b/drivers/staging/ti-soc-thermal/ti-thermal-common.c
>> index 231c549..780368b 100644
>> --- a/drivers/staging/ti-soc-thermal/ti-thermal-common.c
>> +++ b/drivers/staging/ti-soc-thermal/ti-thermal-common.c
>> @@ -38,6 +38,7 @@
>> /* common data structures */
>> struct ti_thermal_data {
>> struct thermal_zone_device *ti_thermal;
>> + struct thermal_zone_device *pcb_tz;
>> struct thermal_cooling_device *cool_dev;
>> struct ti_bandgap *bgp;
>> enum thermal_device_mode mode;
>> @@ -77,10 +78,12 @@ static inline int ti_thermal_hotspot_temperature(int t, int s, int c)
>> static inline int ti_thermal_get_temp(struct thermal_zone_device *thermal,
>> unsigned long *temp)
>> {
>> + struct thermal_zone_device *pcb_tz = NULL;
>> struct ti_thermal_data *data = thermal->devdata;
>> struct ti_bandgap *bgp;
>> const struct ti_temp_sensor *s;
>> - int ret, tmp, pcb_temp, slope, constant;
>> + int ret, tmp, slope, constant;
>> + unsigned long pcb_temp;
>>
>> if (!data)
>> return 0;
>> @@ -92,16 +95,22 @@ static inline int ti_thermal_get_temp(struct thermal_zone_device *thermal,
>> if (ret)
>> return ret;
>>
>> - pcb_temp = 0;
>> - /* TODO: Introduce pcb temperature lookup */
>> + /* Default constants */
>> + slope = s->slope;
>> + constant = s->constant;
>> +
>> + pcb_tz = data->pcb_tz;
>> /* In case pcb zone is available, use the extrapolation rule with it */
>> - if (pcb_temp) {
>> - tmp -= pcb_temp;
>> - slope = s->slope_pcb;
>> - constant = s->constant_pcb;
>> - } else {
>> - slope = s->slope;
>> - constant = s->constant;
>> + if (!IS_ERR_OR_NULL(pcb_tz)) {
>> + ret = thermal_zone_get_temp(pcb_tz, &pcb_temp);
>> + if (!ret) {
>> + tmp -= pcb_temp; /* got a valid PCB temp */
>> + slope = s->slope_pcb;
>> + constant = s->constant_pcb;
>> + } else {
>> + dev_err(bgp->dev,
>> + "Failed to read PCB state. Using defaults\n");
>> + }
>> }
>> *temp = ti_thermal_hotspot_temperature(tmp, slope, constant);
>>
>> @@ -248,6 +257,7 @@ static struct ti_thermal_data
>> data->sensor_id = id;
>> data->bgp = bgp;
>> data->mode = THERMAL_DEVICE_ENABLED;
>> + data->pcb_tz = thermal_zone_get_zone_by_name("pcb");
>> INIT_WORK(&data->thermal_wq, ti_thermal_work);
>>
>> return data;
>
>
>
>
next prev parent reply other threads:[~2013-04-15 13:24 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-05 12:32 [PATCHv3 0/3] thermal: lookup temperature Eduardo Valentin
2013-04-05 12:32 ` Eduardo Valentin
2013-04-05 12:32 ` [PATCHv3 1/3] thermal: introduce thermal_zone_get_zone_by_name helper function Eduardo Valentin
2013-04-05 12:32 ` Eduardo Valentin
2013-04-05 12:47 ` R, Durgadoss
2013-04-15 1:43 ` Zhang Rui
2013-04-15 13:21 ` Eduardo Valentin
2013-04-15 13:21 ` Eduardo Valentin
2013-04-17 19:12 ` Eduardo Valentin
2013-04-17 19:12 ` Eduardo Valentin
2013-04-05 12:32 ` [PATCHv3 2/3] thermal: expose thermal_zone_get_temp API Eduardo Valentin
2013-04-05 12:32 ` Eduardo Valentin
2013-04-15 1:43 ` Zhang Rui
2013-04-15 13:22 ` Eduardo Valentin
2013-04-15 13:22 ` Eduardo Valentin
2013-04-17 19:10 ` Eduardo Valentin
2013-04-17 19:10 ` Eduardo Valentin
2013-04-05 12:32 ` [PATCHv3 3/3] staging: ti-soc-thermal: remove external heat while extrapolating hotspot Eduardo Valentin
2013-04-05 12:32 ` Eduardo Valentin
2013-04-15 1:44 ` Zhang Rui
2013-04-15 13:24 ` Eduardo Valentin [this message]
2013-04-15 13:24 ` 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=516BFF83.8040800@ti.com \
--to=eduardo.valentin@ti.com \
--cc=durgadoss.r@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=rui.zhang@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.