diff mbox

[v2,4/5] thermal: bang-bang governor: act on lower trip boundary

Message ID 1462268013-14992-5-git-send-email-wxt@rock-chips.com (mailing list archive)
State Superseded, archived
Delegated to: Eduardo Valentin
Headers show

Commit Message

Caesar Wang May 3, 2016, 9:33 a.m. UTC
From: Sascha Hauer <s.hauer@pengutronix.de>

With interrupt driven thermal zones we pass the lower and upper
temperature on which shall be acted, so in the governor we have to act on
the exact lower temperature to be consistent. Otherwise an interrupt maybe
generated on the exact lower temperature, but the bang bang governor does
not react since The polling driven zones have to be one step cooler before
the governor reacts.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Eduardo Valentin <edubezval@gmail.com>
Cc: linux-pm@vger.kernel.org

---

Changes in v2:
- Update the commit for patch[v2 4/5].

 drivers/thermal/gov_bang_bang.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Javi Merino May 24, 2016, 1:06 p.m. UTC | #1
Ccing Peter Feuerer, author of the bang bang governor.

On Tue, May 03, 2016 at 05:33:32PM +0800, Caesar Wang wrote:
> From: Sascha Hauer <s.hauer@pengutronix.de>
> 
> With interrupt driven thermal zones we pass the lower and upper
> temperature on which shall be acted, so in the governor we have to act on
> the exact lower temperature to be consistent. Otherwise an interrupt maybe
> generated on the exact lower temperature, but the bang bang governor does
> not react since The polling driven zones have to be one step cooler before
> the governor reacts.
> 
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
> Cc: Zhang Rui <rui.zhang@intel.com>
> Cc: Eduardo Valentin <edubezval@gmail.com>
> Cc: linux-pm@vger.kernel.org
> 
> ---
> 
> Changes in v2:
> - Update the commit for patch[v2 4/5].
> 
>  drivers/thermal/gov_bang_bang.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/thermal/gov_bang_bang.c b/drivers/thermal/gov_bang_bang.c
> index 70836c5..9d1dfea 100644
> --- a/drivers/thermal/gov_bang_bang.c
> +++ b/drivers/thermal/gov_bang_bang.c
> @@ -59,7 +59,7 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
>  		if (instance->target == 0 && tz->temperature >= trip_temp)
>  			instance->target = 1;
>  		else if (instance->target == 1 &&
> -				tz->temperature < trip_temp - trip_hyst)
> +				tz->temperature <= trip_temp - trip_hyst)
>  			instance->target = 0;
>  
>  		dev_dbg(&instance->cdev->device, "target=%d\n",
> -- 
> 1.9.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Peter Kaestle May 24, 2016, 1:11 p.m. UTC | #2
Hi,

24. Mai 2016 15:06 Uhr, "Javi Merino" <javi.merino@arm.com> schrieb:
> Ccing Peter Feuerer, author of the bang bang governor.

thanks, will take care today in the evening.

--peter;


> 
> On Tue, May 03, 2016 at 05:33:32PM +0800, Caesar Wang wrote:
> 
>> From: Sascha Hauer <s.hauer@pengutronix.de>
>> 
>> With interrupt driven thermal zones we pass the lower and upper
>> temperature on which shall be acted, so in the governor we have to act on
>> the exact lower temperature to be consistent. Otherwise an interrupt maybe
>> generated on the exact lower temperature, but the bang bang governor does
>> not react since The polling driven zones have to be one step cooler before
>> the governor reacts.
>> 
>> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>> Cc: Zhang Rui <rui.zhang@intel.com>
>> Cc: Eduardo Valentin <edubezval@gmail.com>
>> Cc: linux-pm@vger.kernel.org
>> 
>> ---
>> 
>> Changes in v2:
>> - Update the commit for patch[v2 4/5].
>> 
>> drivers/thermal/gov_bang_bang.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/thermal/gov_bang_bang.c b/drivers/thermal/gov_bang_bang.c
>> index 70836c5..9d1dfea 100644
>> --- a/drivers/thermal/gov_bang_bang.c
>> +++ b/drivers/thermal/gov_bang_bang.c
>> @@ -59,7 +59,7 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
>> if (instance->target == 0 && tz->temperature >= trip_temp)
>> instance->target = 1;
>> else if (instance->target == 1 &&
>> - tz->temperature < trip_temp - trip_hyst)
>> + tz->temperature <= trip_temp - trip_hyst)
>> instance->target = 0;
>> 
>> dev_dbg(&instance->cdev->device, "target=%d\n",
>> --
>> 1.9.1
>> 
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Peter Kaestle May 24, 2016, 5:34 p.m. UTC | #3
Hi,

24. Mai 2016 15:06 Uhr, "Javi Merino" <javi.merino@arm.com> schrieb:
> Ccing Peter Feuerer, author of the bang bang governor.
> 
> On Tue, May 03, 2016 at 05:33:32PM +0800, Caesar Wang wrote:
> 
>> From: Sascha Hauer <s.hauer@pengutronix.de>
>> 
>> With interrupt driven thermal zones we pass the lower and upper
>> temperature on which shall be acted, so in the governor we have to act on
>> the exact lower temperature to be consistent. Otherwise an interrupt maybe
>> generated on the exact lower temperature, but the bang bang governor does
>> not react since The polling driven zones have to be one step cooler before
>> the governor reacts.
>> 
>> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>> Cc: Zhang Rui <rui.zhang@intel.com>
>> Cc: Eduardo Valentin <edubezval@gmail.com>
>> Cc: linux-pm@vger.kernel.org

Acked-by: Peter Feuerer <peter@piie.net>


>> 
>> ---
>> 
>> Changes in v2:
>> - Update the commit for patch[v2 4/5].
>> 
>> drivers/thermal/gov_bang_bang.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/thermal/gov_bang_bang.c b/drivers/thermal/gov_bang_bang.c
>> index 70836c5..9d1dfea 100644
>> --- a/drivers/thermal/gov_bang_bang.c
>> +++ b/drivers/thermal/gov_bang_bang.c
>> @@ -59,7 +59,7 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
>> if (instance->target == 0 && tz->temperature >= trip_temp)
>> instance->target = 1;
>> else if (instance->target == 1 &&
>> - tz->temperature < trip_temp - trip_hyst)
>> + tz->temperature <= trip_temp - trip_hyst)
>> instance->target = 0;
>> 
>> dev_dbg(&instance->cdev->device, "target=%d\n",
>> --
>> 1.9.1
>> 
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Caesar Wang May 25, 2016, 3:30 a.m. UTC | #4
On 2016年05月25日 01:34, Peter Feuerer wrote:
> Hi,
>
> 24. Mai 2016 15:06 Uhr, "Javi Merino" <javi.merino@arm.com> schrieb:
>> Ccing Peter Feuerer, author of the bang bang governor.
>>
>> On Tue, May 03, 2016 at 05:33:32PM +0800, Caesar Wang wrote:
>>
>>> From: Sascha Hauer <s.hauer@pengutronix.de>
>>>
>>> With interrupt driven thermal zones we pass the lower and upper
>>> temperature on which shall be acted, so in the governor we have to act on
>>> the exact lower temperature to be consistent. Otherwise an interrupt maybe
>>> generated on the exact lower temperature, but the bang bang governor does
>>> not react since The polling driven zones have to be one step cooler before
>>> the governor reacts.
>>>
>>> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
>>> Signed-off-by: Caesar Wang <wxt@rock-chips.com>
>>> Cc: Zhang Rui <rui.zhang@intel.com>
>>> Cc: Eduardo Valentin <edubezval@gmail.com>
>>> Cc: linux-pm@vger.kernel.org
> Acked-by: Peter Feuerer <peter@piie.net>

Okay, thanks your reviewing. :)

>
>
>>> ---
>>>
>>> Changes in v2:
>>> - Update the commit for patch[v2 4/5].
>>>
>>> drivers/thermal/gov_bang_bang.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/thermal/gov_bang_bang.c b/drivers/thermal/gov_bang_bang.c
>>> index 70836c5..9d1dfea 100644
>>> --- a/drivers/thermal/gov_bang_bang.c
>>> +++ b/drivers/thermal/gov_bang_bang.c
>>> @@ -59,7 +59,7 @@ static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
>>> if (instance->target == 0 && tz->temperature >= trip_temp)
>>> instance->target = 1;
>>> else if (instance->target == 1 &&
>>> - tz->temperature < trip_temp - trip_hyst)
>>> + tz->temperature <= trip_temp - trip_hyst)
>>> instance->target = 0;
>>>
>>> dev_dbg(&instance->cdev->device, "target=%d\n",
>>> --
>>> 1.9.1
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-pm" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
diff mbox

Patch

diff --git a/drivers/thermal/gov_bang_bang.c b/drivers/thermal/gov_bang_bang.c
index 70836c5..9d1dfea 100644
--- a/drivers/thermal/gov_bang_bang.c
+++ b/drivers/thermal/gov_bang_bang.c
@@ -59,7 +59,7 @@  static void thermal_zone_trip_update(struct thermal_zone_device *tz, int trip)
 		if (instance->target == 0 && tz->temperature >= trip_temp)
 			instance->target = 1;
 		else if (instance->target == 1 &&
-				tz->temperature < trip_temp - trip_hyst)
+				tz->temperature <= trip_temp - trip_hyst)
 			instance->target = 0;
 
 		dev_dbg(&instance->cdev->device, "target=%d\n",