From: Maxime Ripard <maxime.ripard@bootlin.com>
To: Frank Lee <tiny.windzz@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
catalin.marinas@arm.com, will.deacon@arm.com,
bjorn.andersson@linaro.org,
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
paulmck@linux.ibm.com, stefan.wahren@i2se.com,
Linux PM <linux-pm@vger.kernel.org>, Chen-Yu Tsai <wens@csie.org>,
Jagan Teki <jagan@amarulasolutions.com>,
Andy Gross <andy.gross@linaro.org>,
rui.zhang@intel.com, devicetree@vger.kernel.org,
marc.w.gonzalez@free.fr, Eduardo Valentin <edubezval@gmail.com>,
enric.balletbo@collabora.com, robh+dt@kernel.org,
Jonathan.Cameron@huawei.com,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
olof@lixom.n
Subject: Re: [PATCH 2/3] thermal: sun50i: add thermal driver for h6
Date: Tue, 21 May 2019 09:41:22 +0200 [thread overview]
Message-ID: <20190521074122.syyctwvfsorl45dv@flea> (raw)
In-Reply-To: <CAEExFWtban8Fjw6aZ5gdeC2GNk1vdqFoaJB_o-JtYZ_z70AJcQ@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2070 bytes --]
Hi,
On Sat, May 18, 2019 at 01:19:54AM +0800, Frank Lee wrote:
> On Fri, May 17, 2019 at 3:32 PM Maxime Ripard <maxime.ripard@bootlin.com> wrote:
> >
> > On Fri, May 17, 2019 at 02:10:47AM +0800, Frank Lee wrote:
> > > > On Sun, May 12, 2019 at 11:41:28PM +0200, Ondřej Jirman wrote:
> > > > > > > +static int tsens_get_temp(void *data, int *temp)
> > > > > > > +{
> > > > > > > + struct tsensor *s = data;
> > > > > > > + struct tsens_device *tmdev = s->tmdev;
> > > > > > > + int val;
> > > > > > > +
> > > > > > > + regmap_read(tmdev->regmap, tmdev->chip->temp_data_base +
> > > > > > > + 0x4 * s->id, &val);
> > > > > > > +
> > > > > > > + if (unlikely(val == 0))
> > > > > > > + return -EBUSY;
> > > > > >
> > > > > > I'm not sure why a val equals to 0 would be associated with EBUSY?
> > > > >
> > > > > Thermal zone driver can (will) call get_temp before we got the
> > > > > first interrupt and the thermal data. In that case val will be 0.
> > > > >
> > > > > Resulting in:
> > > > >
> > > > > (val + offset) * scale = (-2794) * -67 = 187198
> > > > >
> > > > > 187°C and immediate shutdown during boot - based on cirtical
> > > > > temperature being reached.
> > > > >
> > > > > Busy here means, get_temp does not yet have data. Thermal zone
> > > > > driver just reports any error to dmesg output.
> > > >
> > > > Ah, that makes sense.
> > > >
> > > > I guess if we're switching to an interrupt-based driver, then we can
> > > > just use a waitqueue, or is get_temp supposed to be atomic?
> > >
> > > I think get_temp should not be bloacked.
> >
> > Why not?
>
> Maybe, I am wrong. I also want to know if we should do this.
I guess it really all depends on whether you can sleep or not in
get_temps. If you can, then you should wait for the value to be
converted and the THS raising an interrupt.
If you can't, then we should ask what the thermal frameworks expects
in such a case.
Maxime
--
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2019-05-21 7:41 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-12 8:26 [PATCH 0/3] add thermal driver for h6 Yangtao Li
2019-05-12 8:26 ` [PATCH 1/3] arm64: defconfig: add allwinner sid support Yangtao Li
2019-05-12 13:25 ` Maxime Ripard
2019-05-12 8:26 ` [PATCH 2/3] thermal: sun50i: add thermal driver for h6 Yangtao Li
2019-05-12 13:39 ` Maxime Ripard
2019-05-12 21:41 ` Ondřej Jirman
2019-05-16 15:02 ` Maxime Ripard
2019-05-16 17:36 ` Ondřej Jirman
2019-05-16 18:10 ` Frank Lee
2019-05-17 7:31 ` Maxime Ripard
2019-05-17 17:19 ` Frank Lee
2019-05-21 7:41 ` Maxime Ripard [this message]
2019-05-16 17:51 ` Frank Lee
2019-05-16 21:11 ` Ondřej Jirman
2019-05-17 7:36 ` Maxime Ripard
2019-05-17 17:27 ` Frank Lee
2019-05-21 8:05 ` Maxime Ripard
2019-05-21 10:27 ` Ondřej Jirman
2019-05-21 14:27 ` Maxime Ripard
2019-05-21 17:33 ` Ondřej Jirman
2019-05-17 19:21 ` Vasily Khoruzhick
2019-05-21 7:47 ` Maxime Ripard
2019-05-12 22:16 ` Ondřej Jirman
2019-05-16 18:06 ` Frank Lee
2019-05-16 18:29 ` Ondřej Jirman
2019-05-17 16:34 ` Frank Lee
2019-05-19 14:22 ` Ondřej Jirman
2019-05-20 10:59 ` Maxime Ripard
2019-05-25 18:48 ` Frank Lee
2019-05-25 18:51 ` Frank Lee
2019-05-25 19:53 ` Vasily Khoruzhick
2019-05-26 1:24 ` Ondřej Jirman
2019-05-12 22:39 ` Ondřej Jirman
2019-05-13 10:01 ` Maxime Ripard
2019-05-16 18:08 ` Frank Lee
2019-05-12 8:26 ` [PATCH 3/3] dt-bindings: thermal: add binding document for h6 thermal controller Yangtao Li
2019-05-12 13:41 ` Maxime Ripard
2019-05-16 18:13 ` Frank Lee
2019-05-17 7:38 ` Maxime Ripard
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=20190521074122.syyctwvfsorl45dv@flea \
--to=maxime.ripard@bootlin.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=andy.gross@linaro.org \
--cc=bjorn.andersson@linaro.org \
--cc=catalin.marinas@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=edubezval@gmail.com \
--cc=enric.balletbo@collabora.com \
--cc=gregkh@linuxfoundation.org \
--cc=jagan@amarulasolutions.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=marc.w.gonzalez@free.fr \
--cc=mark.rutland@arm.com \
--cc=mchehab+samsung@kernel.org \
--cc=olof@lixom.n \
--cc=paulmck@linux.ibm.com \
--cc=robh+dt@kernel.org \
--cc=rui.zhang@intel.com \
--cc=stefan.wahren@i2se.com \
--cc=tiny.windzz@gmail.com \
--cc=wens@csie.org \
--cc=will.deacon@arm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).