From: Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Quentin Schulz
<quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>,
Lee Jones <lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Maxime Ripard
<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Chen-Yu Tsai <wens-jdAy2FN1RRM@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v4 4/6] iio: adc: sun4i-gpadc-iio: add support for H3 thermal sensor
Date: Sat, 16 Sep 2017 15:16:28 -0700 [thread overview]
Message-ID: <20170916151628.001dc421@archlinux> (raw)
In-Reply-To: <445ea236-35e9-8d5a-e580-b2bdcf5f7776-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
On Sat, 16 Sep 2017 11:45:47 +0200
Quentin Schulz <quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> wrote:
> Hi Icenowy,
>
> On 14/09/2017 16:52, Icenowy Zheng wrote:
> > This adds support for the Allwinner H3 thermal sensor.
> >
> > Allwinner H3 has a thermal sensor like the one in A33, but have its
> > registers nearly all re-arranged, sample clock moved to CCU and a pair
> > of bus clock and reset added. It's also the base of newer SoCs' thermal
> > sensors.
> >
> > The thermal sensors on A64 and H5 is like the one on H3, but with of
> > course different formula factors.
> >
> > Signed-off-by: Icenowy Zheng <icenowy-h8G6r0blFSE@public.gmane.org>
> > ---
> > Changes in v4:
> > - Splitted out some code refactors.
> > - Code sequence changed back. (The gpadc_data went back to the start of
> > the source file)
> >
> > drivers/iio/adc/sun4i-gpadc-iio.c | 48 +++++++++++++++++++++++++++++++++++++++
> > include/linux/mfd/sun4i-gpadc.h | 27 ++++++++++++++++++++++
> > 2 files changed, 75 insertions(+)
> [...]
> > diff --git a/include/linux/mfd/sun4i-gpadc.h b/include/linux/mfd/sun4i-gpadc.h
> > index 78d31984a222..5c2a12101052 100644
> > --- a/include/linux/mfd/sun4i-gpadc.h
> > +++ b/include/linux/mfd/sun4i-gpadc.h
> [...]
> > +#define SUN8I_H3_GPADC_CTRL2_T_ACQ1(x) ((GENMASK(15, 0) * (x)) << 16)
> > +
>
> You want to replace * by &.
>
> ((GENMASK(15, 0) & (x)) << 16)
>
> Would ((GENMASK(31, 16) & ((x) << 16)) make the bits you set even more
> obvious?
Agreed. Would act as better 'documentation'.
Jonathan
>
> > #define SUN4I_GPADC_CTRL3 0x0c
> > +/*
> > + * This register is named "Average filter Control Register" in H3 Datasheet,
> > + * but the register's definition is the same as the old CTRL3 register.
> > + */
> > +#define SUN8I_H3_GPADC_CTRL3 0x70
> >
>
> I would name it as it is in the documentation:
> SUN8I_H3_THS_FILTER
>
> No need for comments then.
>
> > #define SUN4I_GPADC_CTRL3_FILTER_EN BIT(2)
> > #define SUN4I_GPADC_CTRL3_FILTER_TYPE(x) (GENMASK(1, 0) & (x))
> > @@ -71,6 +84,13 @@
> > #define SUN4I_GPADC_INT_FIFOC_TP_UP_IRQ_EN BIT(1)
> > #define SUN4I_GPADC_INT_FIFOC_TP_DOWN_IRQ_EN BIT(0)
> >
> > +#define SUN8I_H3_GPADC_INTC 0x44
> > +
> > +#define SUN8I_H3_GPADC_INTC_TEMP_PERIOD(x) ((GENMASK(19, 0) & (x)) << 12)
> > +#define SUN8I_H3_GPADC_INTC_TEMP_DATA BIT(8)
> > +#define SUN8I_H3_GPADC_INTC_TEMP_SHUT BIT(4)
> > +#define SUN8I_H3_GPADC_INTC_TEMP_ALARM BIT(0)
> > +
>
> Since it isn't an ADC anymore but rather just a THS, why don't you use
> SUN8I_H3_THS instead of SUN8I_H3_GPADC? That way, it also matches the
> datasheet.
>
> > #define SUN4I_GPADC_INT_FIFOS 0x14
> >
> > #define SUN4I_GPADC_INT_FIFOS_TEMP_DATA_PENDING BIT(18)
> > @@ -80,9 +100,16 @@
> > #define SUN4I_GPADC_INT_FIFOS_TP_UP_PENDING BIT(1)
> > #define SUN4I_GPADC_INT_FIFOS_TP_DOWN_PENDING BIT(0)
> >
> > +#define SUN8I_H3_GPADC_INTS 0x44
>
> 0x48
>
> [...]
>
> 1) You're not using irqs, why would you define registers that will never
> be used?
>
> 2) Why aren't you using irqs? I remember we discussed on IRC that you
> had some problems with the H3 when resuming or when probing the driver.
> The register would have a zero in it until you have a first sample that
> arrived (i.e. after the sample rate you set with T_ACQ) that would make
> the thermal framework panic since the thermal sensor would return
> something way too hot and shutdown your board?
>
> The H3 apparently supports IRQs, why do you not support them for the
> temperature? They might be broken as it is on A33 but then it might be a
> good idea to write it down in a comment in the driver (and not adding
> the unused registers in the header file) or at least in the commit log.
>
> 3) Now that you have support for clocks, wouldn't it be a good idea to
> disable them during suspend?
>
> Thanks,
> Quentin
next prev parent reply other threads:[~2017-09-16 22:16 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-14 14:52 [PATCH v4 0/6] IIO-based thermal sensor driver for Allwinner H3 SoC Icenowy Zheng
[not found] ` <20170914145251.21784-1-icenowy-h8G6r0blFSE@public.gmane.org>
2017-09-14 14:52 ` [PATCH v4 1/6] dt-bindings: update the Allwinner GPADC device tree binding for H3 Icenowy Zheng
2017-09-16 22:12 ` Jonathan Cameron
[not found] ` <20170914145251.21784-2-icenowy-h8G6r0blFSE@public.gmane.org>
2017-09-18 7:33 ` Maxime Ripard
[not found] ` <20170918073336.j7finend3g76chsu-ZC1Zs529Oq4@public.gmane.org>
2017-09-18 7:36 ` Icenowy Zheng
[not found] ` <310CE549-B8CE-4C0C-95B1-B545E38BDAF5-h8G6r0blFSE@public.gmane.org>
2017-09-18 8:30 ` Maxime Ripard
[not found] ` <20170918083045.7bfiialtbm7w6i7j-ZC1Zs529Oq4@public.gmane.org>
2017-09-18 15:47 ` [linux-sunxi] " icenowy-h8G6r0blFSE
[not found] ` <e73ead447af89031749e85207cac1e69-h8G6r0blFSE@public.gmane.org>
2017-09-20 7:52 ` Maxime Ripard
[not found] ` <20170920075223.jaeswlhcqgu4yhse-YififvaboMKzQB+pC5nmwQ@public.gmane.org>
2017-09-20 8:04 ` Icenowy Zheng
[not found] ` <27449039-F0D4-4663-B596-C95D4408D471-h8G6r0blFSE@public.gmane.org>
2017-09-21 19:32 ` [linux-sunxi] " Maxime Ripard
2017-09-14 14:52 ` [PATCH v4 2/6] iio: adc: sun4i-gpadc-iio: rename A33-specified registers to contain A33 Icenowy Zheng
[not found] ` <20170914145251.21784-3-icenowy-h8G6r0blFSE@public.gmane.org>
2017-09-18 7:34 ` Maxime Ripard
2017-09-18 8:29 ` Lee Jones
2017-09-14 14:52 ` [PATCH v4 3/6] iio: adc: sun4i-gpadc-iio: rework code for supporting newer THS variants Icenowy Zheng
[not found] ` <20170914145251.21784-4-icenowy-h8G6r0blFSE@public.gmane.org>
2017-09-18 7:36 ` Maxime Ripard
2017-09-14 14:52 ` [PATCH v4 4/6] iio: adc: sun4i-gpadc-iio: add support for H3 thermal sensor Icenowy Zheng
[not found] ` <20170914145251.21784-5-icenowy-h8G6r0blFSE@public.gmane.org>
2017-09-16 9:45 ` Quentin Schulz
[not found] ` <445ea236-35e9-8d5a-e580-b2bdcf5f7776-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-09-16 10:14 ` icenowy-h8G6r0blFSE
[not found] ` <0b395ea1743a14a62855fc2a2dc74411-h8G6r0blFSE@public.gmane.org>
2017-09-16 10:35 ` Quentin Schulz
2017-09-18 8:24 ` Maxime Ripard
2017-09-16 22:16 ` Jonathan Cameron [this message]
2017-09-14 14:52 ` [PATCH v4 6/6] ARM: sun8i: h3: add partial CPU thermal zone Icenowy Zheng
[not found] ` <20170914145251.21784-7-icenowy-h8G6r0blFSE@public.gmane.org>
2017-09-16 10:05 ` Quentin Schulz
[not found] ` <b41a80ec-23d5-a614-f6cc-d09c5a459e03-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2017-09-16 22:17 ` Jonathan Cameron
2017-09-18 8:27 ` Maxime Ripard
[not found] ` <20170918082703.riqntqilakzhirc5-ZC1Zs529Oq4@public.gmane.org>
2017-09-24 14:23 ` Jonathan Cameron
2017-09-14 14:52 ` [PATCH v4 5/6] ARM: sun8i: h3: add support for the thermal sensor in H3 Icenowy Zheng
2017-09-18 8:25 ` 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=20170916151628.001dc421@archlinux \
--to=jic23-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=icenowy-h8G6r0blFSE@public.gmane.org \
--cc=lee.jones-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=quentin.schulz-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=wens-jdAy2FN1RRM@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 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).