From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eduardo Valentin Subject: Re: [PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc Date: Tue, 24 Jan 2017 01:26:48 -0800 Message-ID: <20170124092645.GA3651@localhost.localdomain> References: <1483808145-6206-1-git-send-email-kernel@martin.sperl.org> <20170120041400.GA24617@localhost.localdomain> <20170120042323.GA6651@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mail-pg0-f68.google.com ([74.125.83.68]:33949 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750830AbdAXJ0w (ORCPT ); Tue, 24 Jan 2017 04:26:52 -0500 Received: by mail-pg0-f68.google.com with SMTP id t6so16218663pgt.1 for ; Tue, 24 Jan 2017 01:26:52 -0800 (PST) Content-Disposition: inline In-Reply-To: Sender: linux-pm-owner@vger.kernel.org List-Id: linux-pm@vger.kernel.org To: kernel@martin.sperl.org Cc: Zhang Rui , Lee Jones , Eric Anholt , linux-pm@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org Hello Martin, On Fri, Jan 20, 2017 at 09:43:02AM +0100, kernel@martin.sperl.org wrote: > > > On 20.01.2017, at 05:23, Eduardo Valentin wrote: > > > > On Thu, Jan 19, 2017 at 08:14:02PM -0800, Eduardo Valentin wrote: > >> Hello Martin, > >> > >> On Sat, Jan 07, 2017 at 04:55:45PM +0000, kernel@martin.sperl.org wrote: > >>> From: Martin Sperl > >>> > >>> Add basic thermal driver for bcm2835 SOC. > >>> > >>> This driver currently relies on the firmware setting up the > >>> tsense HW block and does not set it up itself. > >>> > >>> Signed-off-by: Martin Sperl > >>> Acked-by: Eric Anholt > >>> Acked-by: Stefan Wahren > >>> > >> > >> > > > > > > Also, I am getting this warn from sparse: > > drivers/thermal/bcm2835_thermal.c:110:16: warning: cast truncates bits > > from constant value (3ffffffffff00 becomes ffffff00) > > drivers/thermal/bcm2835_thermal.c:134:16: warning: cast truncates bits > > from constant value (3ffffffffff becomes ffffffff) > > > > Have you seen this? > > No, I have not checked sparse. > > These values are defined via GENMASK on line 47 and 57 respectively > and should actually compute to the following values: > for line 110 (line 47 has the define): > GENMASK(BCM2835_TS_TSENSCTL_THOLD_BITS + \ > BCM2835_TS_TSENSCTL_THOLD_SHIFT - 1, \ > BCM2835_TS_TSENSCTL_THOLD_SHIFT) > = GENMASK(10 + 8 - 1, 8) > = GENMASK(17, 8) > = (((~0UL) << (8)) & (~0UL >> (32 - 1 - (10 + 8 - 1)))) > = 0x3ff00 > for line 134 (line 57 has the define): > GENMASK(BCM2835_TS_TSENSCTL_THOLD_BITS + \ > BCM2835_TS_TSENSCTL_THOLD_SHIFT - 1, \ > BCM2835_TS_TSENSCTL_THOLD_SHIFT) > = GENMASK(10 + 0 - 1, 0) > = GENMASK(9, 0) > = (((~0UL) << (0)) & (~0UL >> (32 - 1 - (10 + 0 - 1)))) > = 0x003ff > > Note that the preprocessor expansions have been verified by > looking at the preprocessed driver source > (drivers/thermal/bcm2835_thermal.i) OK then. > > I wonder why sparse is computing these GENMASK values as: > 0x3ffffffffff00 and 0x3ffffffffff In the case you can confirm that the values are correct, I believe this could be a false positive report on sparse, in this case. > > Martin