Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp174228pxx; Wed, 28 Oct 2020 01:36:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1PfiiTIs/PsG56EL687zflEvb0qG3Ah1dUt5UiBJP6kT1Z6TAJqWmNThNhK8PDBDcw+Cb X-Received: by 2002:a17:906:3b43:: with SMTP id h3mr6342827ejf.542.1603874185615; Wed, 28 Oct 2020 01:36:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603874185; cv=none; d=google.com; s=arc-20160816; b=lYnzeFTSacx6IK3AWqZxjwfo5XBpi8RQbl4KEHzp+PXjTt+7yxuvnqe0YrJoCKch94 DEkiIMyhxD07n/j2Qed+1M2bc3lpT9D4jF9iEEismePxrCtZo9VLDTK06REEi5upDF6Y e1p8I7ktc06X77uEnoxZ/1F5ke8njjqwuV8UcgC0EDFz04F7c0o4UaMR48dnkyM7/IMV uVdL5M6GuJ7xdL+xDo+hfWrMYPOkfpxzNJM5sl50arECOS7vUIU5QxgPyqXP9BiYiVLS LYnj9VZJGk1gxqS7dbDy9wBgClsKwz7oqc0zQqEkcoRDVmbXoOceeWeKctycTyNIdVyQ 2taQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=TFNAjmzpbndEfKwiG03F76OdImcR/jQjcGxCP/QLurY=; b=Ag3aEBvoPY1V7ARp5xGZgxCXzwnISs4tIyQdep+BmocK+yy4ds3tISD8EyqDiHeCO+ cPfs8TLnVqF24upJm23kGVieGGVUehbLbUqG8OA0GiurPi6PJCHEDZFqjpfxw8rvtWKg UjZA0AO8f3Y7WBmlQsB7Pmo7Ea7jZTGF7uCTA8obb30A7/xYcANz8Dz3vA3ebkwu1oK9 B4aLhs2zDN0CtMZMtRQMWoTCKzc629XCn5bZNGqTD03J46aQejaXYjPUyiSFfskxjvyg B9cLCBK4DJ3oiFz2xJfYnIv8TAlMZL59n4I8AncDSy06b2rNZYbv6PpzDch1+BWkC2MV RRsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o5vuF14v; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g1si3663191edn.100.2020.10.28.01.36.03; Wed, 28 Oct 2020 01:36:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=o5vuF14v; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754670AbgJ0OG1 (ORCPT + 99 others); Tue, 27 Oct 2020 10:06:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:54718 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754640AbgJ0OGV (ORCPT ); Tue, 27 Oct 2020 10:06:21 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4220722258; Tue, 27 Oct 2020 14:06:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603807580; bh=/a23eP5E5qcO4mbaoXnNWG7DOiI+CXBxMtBV/SjayAA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=o5vuF14vLqZd81vfuJ8xQEfKjSN20WMOj+LKKxbUsYhjZVAmu45MH7kwjU+mHsgBp qUgTdFsIK9DK2agFDkjqU33Wxr0dmhL2H8RcQ1zuK1FI4SRcMiA+Y4JmoYlq8yaWlC 4gaTOHr1Kkr3QMbjMPhRuJ1hwEuqzNeWtzpKYYv4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Finn Thain , Stan Johnson , Michael Ellerman , Sasha Levin Subject: [PATCH 4.9 064/139] powerpc/tau: Use appropriate temperature sample interval Date: Tue, 27 Oct 2020 14:49:18 +0100 Message-Id: <20201027134905.157557453@linuxfoundation.org> X-Mailer: git-send-email 2.29.1 In-Reply-To: <20201027134902.130312227@linuxfoundation.org> References: <20201027134902.130312227@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Finn Thain [ Upstream commit 66943005cc41f48e4d05614e8f76c0ca1812f0fd ] According to the MPC750 Users Manual, the SITV value in Thermal Management Register 3 is 13 bits long. The present code calculates the SITV value as 60 * 500 cycles. This would overflow to give 10 us on a 500 MHz CPU rather than the intended 60 us. (But according to the Microprocessor Datasheet, there is also a factor of 266 that has to be applied to this value on certain parts i.e. speed sort above 266 MHz.) Always use the maximum cycle count, as recommended by the Datasheet. Fixes: 1da177e4c3f41 ("Linux-2.6.12-rc2") Signed-off-by: Finn Thain Tested-by: Stan Johnson Signed-off-by: Michael Ellerman Link: https://lore.kernel.org/r/896f542e5f0f1d6cf8218524c2b67d79f3d69b3c.1599260540.git.fthain@telegraphics.com.au Signed-off-by: Sasha Levin --- arch/powerpc/include/asm/reg.h | 2 +- arch/powerpc/kernel/tau_6xx.c | 12 ++++-------- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/arch/powerpc/include/asm/reg.h b/arch/powerpc/include/asm/reg.h index 26aeeaad32678..a36ef27155bc2 100644 --- a/arch/powerpc/include/asm/reg.h +++ b/arch/powerpc/include/asm/reg.h @@ -683,7 +683,7 @@ #define THRM1_TIN (1 << 31) #define THRM1_TIV (1 << 30) #define THRM1_THRES(x) ((x&0x7f)<<23) -#define THRM3_SITV(x) ((x&0x3fff)<<1) +#define THRM3_SITV(x) ((x & 0x1fff) << 1) #define THRM1_TID (1<<2) #define THRM1_TIE (1<<1) #define THRM1_V (1<<0) diff --git a/arch/powerpc/kernel/tau_6xx.c b/arch/powerpc/kernel/tau_6xx.c index a753b72efbc0c..1880481322880 100644 --- a/arch/powerpc/kernel/tau_6xx.c +++ b/arch/powerpc/kernel/tau_6xx.c @@ -174,15 +174,11 @@ static void tau_timeout(void * info) * complex sleep code needs to be added. One mtspr every time * tau_timeout is called is probably not a big deal. * - * Enable thermal sensor and set up sample interval timer - * need 20 us to do the compare.. until a nice 'cpu_speed' function - * call is implemented, just assume a 500 mhz clock. It doesn't really - * matter if we take too long for a compare since it's all interrupt - * driven anyway. - * - * use a extra long time.. (60 us @ 500 mhz) + * The "PowerPC 740 and PowerPC 750 Microprocessor Datasheet" + * recommends that "the maximum value be set in THRM3 under all + * conditions." */ - mtspr(SPRN_THRM3, THRM3_SITV(500*60) | THRM3_E); + mtspr(SPRN_THRM3, THRM3_SITV(0x1fff) | THRM3_E); local_irq_restore(flags); } -- 2.25.1