All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org
To: Eduardo Valentin <edubezval-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Lee Jones <lee-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Zhang Rui <rui.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc
Date: Fri, 20 Jan 2017 09:43:02 +0100	[thread overview]
Message-ID: <D349C10C-C929-40A4-86BF-7F6E834DB613@martin.sperl.org> (raw)
In-Reply-To: <20170120042323.GA6651-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>


> On 20.01.2017, at 05:23, Eduardo Valentin <edubezval-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org wrote:
>>> From: Martin Sperl <kernel-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org>
>>> 
>>> 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 <kernel-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org>
>>> Acked-by: Eric Anholt <eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org>
>>> Acked-by: Stefan Wahren <stefan.wahren-eS4NqCHxEME@public.gmane.org>
>>> 
>> 
>> <cut>
> 
> 
> 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)

I wonder why sparse is computing these GENMASK values as:
0x3ffffffffff00 and 0x3ffffffffff

Martin

WARNING: multiple messages have this Message-ID (diff)
From: kernel@martin.sperl.org (kernel at martin.sperl.org)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc
Date: Fri, 20 Jan 2017 09:43:02 +0100	[thread overview]
Message-ID: <D349C10C-C929-40A4-86BF-7F6E834DB613@martin.sperl.org> (raw)
In-Reply-To: <20170120042323.GA6651@localhost.localdomain>


> On 20.01.2017, at 05:23, Eduardo Valentin <edubezval@gmail.com> 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 at martin.sperl.org wrote:
>>> From: Martin Sperl <kernel@martin.sperl.org>
>>> 
>>> 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 <kernel@martin.sperl.org>
>>> Acked-by: Eric Anholt <eric@anholt.net>
>>> Acked-by: Stefan Wahren <stefan.wahren@i2se.com>
>>> 
>> 
>> <cut>
> 
> 
> 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)

I wonder why sparse is computing these GENMASK values as:
0x3ffffffffff00 and 0x3ffffffffff

Martin

  parent reply	other threads:[~2017-01-20  8:43 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-07 16:55 [PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc kernel
2017-01-07 16:55 ` kernel at martin.sperl.org
2017-01-20  4:14 ` Eduardo Valentin
2017-01-20  4:14   ` Eduardo Valentin
2017-01-20  4:23   ` Eduardo Valentin
2017-01-20  4:23     ` Eduardo Valentin
     [not found]     ` <20170120042323.GA6651-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-01-20  8:43       ` kernel-TqfNSX0MhmxHKSADF0wUEw [this message]
2017-01-20  8:43         ` kernel at martin.sperl.org
2017-01-24  9:26         ` Eduardo Valentin
2017-01-24  9:26           ` Eduardo Valentin
2017-01-24  9:37           ` kernel
2017-01-24  9:37             ` kernel at martin.sperl.org
     [not found]   ` <20170120041400.GA24617-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-01-20  7:54     ` kernel-TqfNSX0MhmxHKSADF0wUEw
2017-01-20  7:54       ` kernel at martin.sperl.org
     [not found]       ` <060918B6-A773-46A5-8D10-C9F6BBA6D3F1-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org>
2017-01-24  9:31         ` Eduardo Valentin
2017-01-24  9:31           ` Eduardo Valentin
2017-01-24  9:52           ` kernel
2017-01-24  9:52             ` kernel at martin.sperl.org
2017-02-02  4:29             ` Eduardo Valentin
2017-02-02  4:29               ` Eduardo Valentin
2017-02-04  8:35               ` kernel
2017-02-04  8:35                 ` kernel at martin.sperl.org
2017-02-04 14:16                 ` [PATCH 1/2] dt-bindings: Add thermal zone to bcm2835-thermal example Stefan Wahren
2017-02-04 14:16                   ` [PATCH 2/2] ARM: dts: bcm283x: Add critical thermal zone for GPU Stefan Wahren
     [not found]                     ` <1486217787-15703-2-git-send-email-stefan.wahren-eS4NqCHxEME@public.gmane.org>
2017-02-08  4:19                       ` Eduardo Valentin
     [not found]                         ` <20170208041929.GA6809-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-02-08  4:23                           ` Eduardo Valentin
     [not found]                             ` <20170208042351.GB6809-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-02-08  9:56                               ` Stefan Wahren
2017-02-08 19:50                                 ` Eric Anholt
2017-02-09 17:48                                   ` Stefan Wahren
     [not found]                                     ` <124007607.358509.1486662532562-7tX72C7vayboQLBSYMtkGA@public.gmane.org>
2017-02-09 23:34                                       ` Eric Anholt
2017-02-08 22:02                   ` [PATCH 1/2] dt-bindings: Add thermal zone to bcm2835-thermal example Rob Herring
     [not found]                 ` <E0A4388D-788A-40B4-9193-36FD75284654-TqfNSX0MhmxHKSADF0wUEw@public.gmane.org>
2017-02-08  4:31                   ` [PATCH V9] thermal: bcm2835: add thermal driver for bcm2835 soc Eduardo Valentin
2017-02-08  4:31                     ` Eduardo Valentin
     [not found]                     ` <20170208043107.GA7097-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2017-02-08  8:19                       ` kernel-TqfNSX0MhmxHKSADF0wUEw
2017-02-08  8:19                         ` kernel at martin.sperl.org
2017-02-04  9:36               ` Stefan Wahren
2017-02-04  9:36                 ` Stefan Wahren

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=D349C10C-C929-40A4-86BF-7F6E834DB613@martin.sperl.org \
    --to=kernel-tqfnsx0mhmxhksadf0wuew@public.gmane.org \
    --cc=edubezval-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=lee-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-rpi-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=rui.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.