Message ID | 1353313293.6468.4.camel@rzhang1-mobl4 (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Zhang Rui |
Headers | show |
> -----Original Message----- > From: Zhang, Rui > Sent: Monday, November 19, 2012 1:52 PM > To: Linux PM list > Cc: Zhang, Rui; Amit Kachhap; R, Durgadoss > Subject: [PATCH 2/2] Thermal: Introduce > THERMAL_TREND_RAISE/DROP_FULL support for step_wise governor > > From fcc7e0a36388f468c25526290e2fb2beebaae99c Mon Sep 17 00:00:00 > 2001 > From: Zhang Rui <rui.zhang@intel.com> > Date: Mon, 19 Nov 2012 16:10:20 +0800 > Subject: [PATCH 2/2] Introduce THERMAL_TREND_RAISE/DROP_FULL > support for > step_wise governor > > step_wise governor should set the device cooling state to > upper/lower limit directly when THERMAL_TREND_RAISE/DROP_FULL. > Patch looks good.. Reviewed-by: Durgadoss R <durgadoss.r@intel.com> Thanks, Durga > Signed-off-by: Zhang Rui <rui.zhang@intel.com> > --- > drivers/thermal/step_wise.c | 19 +++++++++++++++++-- > 1 file changed, 17 insertions(+), 2 deletions(-) > > diff --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c > index 1242cff..6273f7d 100644 > --- a/drivers/thermal/step_wise.c > +++ b/drivers/thermal/step_wise.c > @@ -35,6 +35,10 @@ > * state for this trip point > * b. if the trend is THERMAL_TREND_DROPPING, use lower cooling > * state for this trip point > + * c. if the trend is THERMAL_TREND_RAISE_FULL, use upper limit > + * for this trip point > + * d. if the trend is THERMAL_TREND_DROP_FULL, use lower limit > + * for this trip point > */ > static unsigned long get_target_state(struct thermal_instance *instance, > enum thermal_trend trend) > @@ -44,12 +48,23 @@ static unsigned long get_target_state(struct > thermal_instance *instance, > > cdev->ops->get_cur_state(cdev, &cur_state); > > - if (trend == THERMAL_TREND_RAISING) { > + switch (trend) { > + case THERMAL_TREND_RAISING: > cur_state = cur_state < instance->upper ? > (cur_state + 1) : instance->upper; > - } else if (trend == THERMAL_TREND_DROPPING) { > + break; > + case THERMAL_TREND_DROPPING: > cur_state = cur_state > instance->lower ? > (cur_state - 1) : instance->lower; > + break; > + case THERMAL_TREND_RAISE_FULL: > + cur_state = instance->upper; > + break; > + case THERMAL_TREND_DROP_FULL: > + cur_state = instance->lower; > + break; > + default: > + break; > } > > return cur_state; > -- > 1.7.9.5 > >
On 19 November 2012 13:51, Zhang Rui <rui.zhang@intel.com> wrote: > From fcc7e0a36388f468c25526290e2fb2beebaae99c Mon Sep 17 00:00:00 2001 > From: Zhang Rui <rui.zhang@intel.com> > Date: Mon, 19 Nov 2012 16:10:20 +0800 > Subject: [PATCH 2/2] Introduce THERMAL_TREND_RAISE/DROP_FULL support for > step_wise governor > > step_wise governor should set the device cooling state to > upper/lower limit directly when THERMAL_TREND_RAISE/DROP_FULL. > > Signed-off-by: Zhang Rui <rui.zhang@intel.com> > --- > drivers/thermal/step_wise.c | 19 +++++++++++++++++-- > 1 file changed, 17 insertions(+), 2 deletions(-) > > diff --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c > index 1242cff..6273f7d 100644 > --- a/drivers/thermal/step_wise.c > +++ b/drivers/thermal/step_wise.c > @@ -35,6 +35,10 @@ > * state for this trip point > * b. if the trend is THERMAL_TREND_DROPPING, use lower cooling > * state for this trip point > + * c. if the trend is THERMAL_TREND_RAISE_FULL, use upper limit > + * for this trip point > + * d. if the trend is THERMAL_TREND_DROP_FULL, use lower limit > + * for this trip point > */ > static unsigned long get_target_state(struct thermal_instance *instance, > enum thermal_trend trend) > @@ -44,12 +48,23 @@ static unsigned long get_target_state(struct thermal_instance *instance, > > cdev->ops->get_cur_state(cdev, &cur_state); > > - if (trend == THERMAL_TREND_RAISING) { > + switch (trend) { > + case THERMAL_TREND_RAISING: > cur_state = cur_state < instance->upper ? > (cur_state + 1) : instance->upper; > - } else if (trend == THERMAL_TREND_DROPPING) { > + break; > + case THERMAL_TREND_DROPPING: > cur_state = cur_state > instance->lower ? > (cur_state - 1) : instance->lower; > + break; > + case THERMAL_TREND_RAISE_FULL: > + cur_state = instance->upper; > + break; > + case THERMAL_TREND_DROP_FULL: > + cur_state = instance->lower; > + break; > + default: > + break; > } >Hi Rui, Sorry for late review. This part looks good. But can this get_target_state be also called in update_instance_for_dethrottle as done by my patch for quick cooling. Thanks, Amit Daniel > return cur_state; > -- > 1.7.9.5 > > > -- 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 --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c index 1242cff..6273f7d 100644 --- a/drivers/thermal/step_wise.c +++ b/drivers/thermal/step_wise.c @@ -35,6 +35,10 @@ * state for this trip point * b. if the trend is THERMAL_TREND_DROPPING, use lower cooling * state for this trip point + * c. if the trend is THERMAL_TREND_RAISE_FULL, use upper limit + * for this trip point + * d. if the trend is THERMAL_TREND_DROP_FULL, use lower limit + * for this trip point */ static unsigned long get_target_state(struct thermal_instance *instance, enum thermal_trend trend) @@ -44,12 +48,23 @@ static unsigned long get_target_state(struct thermal_instance *instance, cdev->ops->get_cur_state(cdev, &cur_state); - if (trend == THERMAL_TREND_RAISING) { + switch (trend) { + case THERMAL_TREND_RAISING: cur_state = cur_state < instance->upper ? (cur_state + 1) : instance->upper; - } else if (trend == THERMAL_TREND_DROPPING) { + break; + case THERMAL_TREND_DROPPING: cur_state = cur_state > instance->lower ? (cur_state - 1) : instance->lower; + break; + case THERMAL_TREND_RAISE_FULL: + cur_state = instance->upper; + break; + case THERMAL_TREND_DROP_FULL: + cur_state = instance->lower; + break; + default: + break; } return cur_state;