From patchwork Mon Nov 19 08:21:33 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhang, Rui" X-Patchwork-Id: 1763421 X-Patchwork-Delegate: rui.zhang@intel.com Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id A7D1D3FCAE for ; Mon, 19 Nov 2012 08:21:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753181Ab2KSIVi (ORCPT ); Mon, 19 Nov 2012 03:21:38 -0500 Received: from mga11.intel.com ([192.55.52.93]:24722 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753146Ab2KSIVh (ORCPT ); Mon, 19 Nov 2012 03:21:37 -0500 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP; 19 Nov 2012 00:21:37 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.83,277,1352102400"; d="scan'208,223";a="251222003" Received: from unknown (HELO [10.255.21.124]) ([10.255.21.124]) by fmsmga002.fm.intel.com with ESMTP; 19 Nov 2012 00:21:35 -0800 Message-ID: <1353313293.6468.4.camel@rzhang1-mobl4> Subject: [PATCH 2/2] Thermal: Introduce THERMAL_TREND_RAISE/DROP_FULL support for step_wise governor From: Zhang Rui To: Linux PM list Cc: "Zhang, Rui" , Amit Kachhap , durga Date: Mon, 19 Nov 2012 16:21:33 +0800 X-Mailer: Evolution 3.2.3-0ubuntu6 Mime-Version: 1.0 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org From fcc7e0a36388f468c25526290e2fb2beebaae99c Mon Sep 17 00:00:00 2001 From: Zhang Rui 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 Reviewed-by: Durgadoss R --- 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;