From patchwork Mon Apr 8 23:56:11 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Bresticker X-Patchwork-Id: 2412461 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 20FC83FD1A for ; Mon, 8 Apr 2013 23:56:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936618Ab3DHX4Q (ORCPT ); Mon, 8 Apr 2013 19:56:16 -0400 Received: from mail-ia0-f201.google.com ([209.85.210.201]:61624 "EHLO mail-ia0-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936582Ab3DHX4O (ORCPT ); Mon, 8 Apr 2013 19:56:14 -0400 Received: by mail-ia0-f201.google.com with SMTP id k25so518895iah.2 for ; Mon, 08 Apr 2013 16:56:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer :x-gm-message-state; bh=Xw/QCPffBg5+X6cORAW7x4pHpPHXgDzDXbYPy/91Vlw=; b=EtHoAuocwbsr0nEkvQd6ug3wWQ82NjkEZqBA0FiLc/k9qUCzhvbk572LGepDvk+M0E iF470L4yyBjddncO1b8D+Nez1ruBoGaFvI7hJMpmJd84u4c2Ifw7EVAEmVqJP6/ZuA56 BkH1u0mAw40EHM4g9l/KS+OBwhbOUJ0XoOtqWw2bj3hNCY/y7b3c2CPcm9DRKb/LW3xF rkgXD7t1SD3Zk0vW2dBlw+YSFiW2DfE0t7NV5kTBAo/1oiJIhEjhAz3EY/G0OektHmkF CyLlxVf9GGqgcwz01s/pil7DoCYe3Bbyc6pGGIJAPV01C/ywCU49+hl45dyKDEAyjNXt Anfw== X-Received: by 10.42.151.199 with SMTP id f7mr17550992icw.17.1365465373977; Mon, 08 Apr 2013 16:56:13 -0700 (PDT) Received: from corp2gmr1-2.hot.corp.google.com (corp2gmr1-2.hot.corp.google.com [172.24.189.93]) by gmr-mx.google.com with ESMTPS id hn12si1826957igb.3.2013.04.08.16.56.13 (version=TLSv1.1 cipher=AES128-SHA bits=128/128); Mon, 08 Apr 2013 16:56:13 -0700 (PDT) Received: from abrestic01.mtv.corp.google.com (abrestic01.mtv.corp.google.com [172.22.83.3]) by corp2gmr1-2.hot.corp.google.com (Postfix) with ESMTP id 54C0E5A437E; Mon, 8 Apr 2013 16:56:13 -0700 (PDT) Received: by abrestic01.mtv.corp.google.com (Postfix, from userid 137652) id 0574D100A0B; Mon, 8 Apr 2013 16:56:12 -0700 (PDT) From: Andrew Bresticker To: Zhang Rui Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Bresticker Subject: [PATCH] thermal: step_wise: set throttle target within thermal instance limits Date: Mon, 8 Apr 2013 16:56:11 -0700 Message-Id: <1365465371-24652-1-git-send-email-abrestic@chromium.org> X-Mailer: git-send-email 1.8.1.3 X-Gm-Message-State: ALoCoQmd6D+N4mz5gI6DneF3Ac3XitkcUbjcYoS0LtZtZfl5uH4OItgVl0Cv/TH97fCWAWL9nQL7LYlna95bZq98PBXQH2F/n6RlF62hWHMC5U0Seg0bv0tGEd6M2f1dIekD2gojdDpQVhnhEkSgwjh0IC8V1GV5Uj29HDTYA624/iguxKksB4iD/yZ3VKk8iJgBnR+qFOm6 Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org When selecting a target cooling state in get_target_state(), make sure that the state is at least as high as the minimum when the temperature is rising and at least as low as the maximum when the temperature is falling. Previously the cooling level would only be incremented or decremented by one in these cases. Signed-off-by: Andrew Bresticker --- drivers/thermal/step_wise.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/thermal/step_wise.c b/drivers/thermal/step_wise.c index 0cd5e9f..49992a4 100644 --- a/drivers/thermal/step_wise.c +++ b/drivers/thermal/step_wise.c @@ -47,9 +47,13 @@ static unsigned long get_target_state(struct thermal_instance *instance, if (trend == THERMAL_TREND_RAISING) { cur_state = cur_state < instance->upper ? (cur_state + 1) : instance->upper; + if (cur_state < instance->lower) + cur_state = instance->lower; } else if (trend == THERMAL_TREND_DROPPING) { cur_state = cur_state > instance->lower ? (cur_state - 1) : instance->lower; + if (cur_state > instance->upper) + cur_state = instance->upper; } return cur_state;