From patchwork Mon Apr 25 03:02:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Caesar Wang X-Patchwork-Id: 8922601 Return-Path: X-Original-To: patchwork-linux-pm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 22531BF29F for ; Mon, 25 Apr 2016 03:04:11 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 4851920165 for ; Mon, 25 Apr 2016 03:04:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0BD7720166 for ; Mon, 25 Apr 2016 03:04:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753549AbcDYDDu (ORCPT ); Sun, 24 Apr 2016 23:03:50 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:34785 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753547AbcDYDDt (ORCPT ); Sun, 24 Apr 2016 23:03:49 -0400 Received: by mail-pa0-f65.google.com with SMTP id yl2so11621384pac.1; Sun, 24 Apr 2016 20:03:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=e6ql8gs7lzbuztBXoEe7h+eUxVjTxjIXhwJqOQJTWkM=; b=EgE6HsO4t6neHPt0H9xOZ2rBI7zRO4MvoR81pZ/972GEY4N3r0qD7Z22I0ckaSrxFR ycPH8DOIzsXp8b+OxBmg4XwSsaXJ4lf+x7lNlDo0GZWUMCO1phK7qk3c+FvS3/Wj3m08 hOvnsg37RyaBqrAUeyRYXUsze/IXk7ACLQnH+uSZvus/l8h9q8hS7dQ/Xa5FacIeaQS0 U1o6RFxu/8nB6qqDunYb0K8CqsEdAIR+YiRoCmxtJMav/uu1tMVmezmXAV89jM2kR3XP FuY12ojbGPJDupPoLqwHdJPwBeyOO0hxHPSmy7j/iMKhcIDEfGpUlkfj5q0Mw6YhnVnC iqSw== X-Gm-Message-State: AOPr4FUM4yamun0ZnKOsvF4eLOVGR+fjQm+fKyOb7lM0cjqr6aNogYpdroGjEH1n1FjNuQ== X-Received: by 10.66.184.40 with SMTP id er8mr46193089pac.134.1461553428756; Sun, 24 Apr 2016 20:03:48 -0700 (PDT) Received: from localhost.localdomain ([104.37.5.142]) by smtp.gmail.com with ESMTPSA id i7sm23964173pfc.47.2016.04.24.20.03.39 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 24 Apr 2016 20:03:47 -0700 (PDT) From: Caesar Wang To: edubezval@gmail.com Cc: Heiko Stuebner , dianders@chromium.org, briannorris@google.com, smbarber@google.com, linux-rockchip@lists.infradead.org, dmitry.torokhov@gmail.com, huangtao@rock-chips.com, eddie.cai@rock-chips.com, Sascha Hauer , Caesar Wang , Zhang Rui , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] thermal: bang-bang governor: act on lower trip boundary Date: Mon, 25 Apr 2016 11:02:47 +0800 Message-Id: <1461553367-24744-5-git-send-email-wxt@rock-chips.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1461553367-24744-1-git-send-email-wxt@rock-chips.com> References: <1461553367-24744-1-git-send-email-wxt@rock-chips.com> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY, URIBL_BLACK autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Sascha Hauer 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. Signed-off-by: Sascha Hauer Signed-off-by: Caesar Wang Cc: Zhang Rui Cc: Eduardo Valentin Cc: linux-pm@vger.kernel.org --- 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",