All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Daniel Kurtz <djkurtz@chromium.org>
Cc: linux-pm@vger.kernel.org, Zhang Rui <rui.zhang@intel.com>,
	Eduardo Valentin <edubezval@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	linux-mediatek@lists.infradead.org,
	Sasha Hauer <kernel@pengutronix.de>,
	Matthias Brugger <matthias.bgg@gmail.com>
Subject: Re: [PATCH 2/3] thermal: Add Mediatek thermal controller support
Date: Thu, 20 Aug 2015 09:57:48 +0200	[thread overview]
Message-ID: <20150820075748.GP18700@pengutronix.de> (raw)
In-Reply-To: <CAGS+omD9fhmyHEm6jWaWXi3y90Y5VDr6QeFD7tqMLbZpSN3+yw@mail.gmail.com>

On Tue, Aug 11, 2015 at 03:03:53PM +0800, Daniel Kurtz wrote:
> Hi Sascha,
> 
> I think this patch looks very good now, just some very tiny things inline...
> 
> > +
> > +struct mtk_thermal {
> > +       struct device *dev;
> > +       void __iomem *thermal_base;
> > +
> > +       struct clk *clk_peri_therm;
> > +       struct clk *clk_auxadc;
> > +
> > +       struct mtk_thermal_bank banks[MT8173_NUM_ZONES];
> > +
> > +       struct mutex lock;
> > +
> > +       /* Calibration values */
> > +       int calib_a;
> > +       int calib_b;
> 
> Rather than "a" and "b", these should probably names something like
> "offset" and "slope".

Ok.

> 
> Since these are properties of the hardware (board? SoC?), perhaps it
> makes sense to allow setting them in devicetree?

It seems there are some fuses in the SoC which shall store the
calibration values ultimately. The current bootloader cannot convert
these values into device tree properties and I'm not sure the format in
which they are stored is clear now (I hope not, since then we would have
five calibration values to describe a line). Also the new nvmem
framework seems to make it possible to describe the place for the
constants in the device tree rather than having to put the values
themselves into the device tree.
To cut a long story short I left this for a future exercise.

> > +       /*
> > +        * The MT8173 thermal controller does not have its own ADC. Instead it
> > +        * uses AHB bus accesses to control the AUXADC. To do this the thermal
> > +        * controller has to be programmed with the physical addresses of the
> > +        * AUXADC registers and with the various bit positions in the AUXADC.
> > +        * Also the thermal controller controls a mux in the APMIXEDSYS register
> > +        * space.
> > +        */
> > +
> > +       /*
> > +        * this value will be stored to TEMP_PNPMUXADDR (TEMP_SPARE0)
> > +        * automatically by hw
> > +        */
> > +       writel(BIT(MT8173_TEMP_AUXADC_CHANNEL), mt->thermal_base + TEMP_ADCMUX);
> > +
> > +       /* AHB address for auxadc mux selection */
> > +       writel(auxadc_phys_base + 0x00c, mt->thermal_base + TEMP_ADCMUXADDR);
> 
> Can you define a AUXADC_ constant for this "0x00c"?

Ok. Sorry, missed that in the last review.

> > +
> > +       ret = clk_prepare_enable(mt->clk_peri_therm);
> > +       if (ret) {
> > +               dev_err(&pdev->dev, "Can't enable peri clk: %d\n", ret);
> > +               goto err_disable_clk_auxadc;
> > +       }
> 
> Seems like the temp sensor and ADC will always be on and clocked, even
> if not used.
> Does it make sense to give this driver runtime_pm support to disable
> the sensor and its clocks between temperature readings?  (Doesn't need
> to be added in this patch, of course.

In the longer run I would rather implement interrupt support so that we
get interrupted on critical conditions. Then we probably have to keep the
clock enabled anyway.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

  reply	other threads:[~2015-08-20  7:57 UTC|newest]

Thread overview: 133+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07 13:55 [PATCH v4] Add Mediatek thermal support Sascha Hauer
2015-08-07 13:55 ` [PATCH 1/3] dt-bindings: thermal: Add binding document for Mediatek thermal controller Sascha Hauer
2015-08-07 13:55 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-08-11  7:03   ` Daniel Kurtz
2015-08-20  7:57     ` Sascha Hauer [this message]
2015-08-07 13:55 ` [PATCH 3/3] ARM64: dts: mt8173: Add thermal/auxadc device nodes Sascha Hauer
2015-08-07 13:55   ` Sascha Hauer
  -- strict thread matches above, loose matches on Subject: below --
2015-11-30 11:42 [PATCH v12] Add Mediatek thermal support Sascha Hauer
2015-11-30 11:42 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-11-30 11:42   ` Sascha Hauer
2015-12-17 19:33   ` Eduardo Valentin
2015-12-17 19:33     ` Eduardo Valentin
2016-01-04 14:19     ` Sascha Hauer
2016-01-04 14:19       ` Sascha Hauer
2016-01-19  7:29       ` Sascha Hauer
2016-01-19  7:29         ` Sascha Hauer
2016-02-01  2:54         ` Eddie Huang
2016-02-01  2:54           ` Eddie Huang
2016-02-01  2:54           ` Eddie Huang
2016-02-15  2:11           ` Daniel Kurtz
2016-02-15  2:11             ` Daniel Kurtz
2016-02-15  2:11             ` Daniel Kurtz
2016-02-15  2:14             ` Daniel Kurtz
2016-02-15  2:14               ` Daniel Kurtz
2016-02-15  2:14               ` Daniel Kurtz
2016-02-17 17:05               ` Matthias Brugger
2016-02-17 17:05                 ` Matthias Brugger
2016-02-17 17:05                 ` Matthias Brugger
2016-02-18 10:56                 ` Sascha Hauer
2016-02-18 10:56                   ` Sascha Hauer
2016-02-18 10:56                   ` Sascha Hauer
2016-02-18 14:28                   ` Javi Merino
2016-02-18 14:28                     ` Javi Merino
2016-02-18 14:28                     ` Javi Merino
2016-02-18 15:15                   ` Eduardo Valentin
2016-02-18 15:15                     ` Eduardo Valentin
2016-02-18 15:15                     ` Eduardo Valentin
2016-02-19  7:21                     ` Sascha Hauer
2016-02-19  7:21                       ` Sascha Hauer
2016-02-19  7:21                       ` Sascha Hauer
2015-12-21  4:07   ` Daniel Kurtz
2015-12-21  4:07     ` Daniel Kurtz
2015-12-21  4:07     ` Daniel Kurtz
2016-01-04 14:31     ` Sascha Hauer
2016-01-04 14:31       ` Sascha Hauer
2016-01-04 14:31       ` Sascha Hauer
2016-01-04 15:43       ` Daniel Kurtz
2016-01-04 15:43         ` Daniel Kurtz
2016-01-04 15:43         ` Daniel Kurtz
2015-11-18  8:24 [PATCH v11] Add Mediatek thermal support Sascha Hauer
2015-11-18  8:24 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-11-18  8:24   ` Sascha Hauer
2015-11-24  6:06   ` dawei chien
2015-11-24  6:06     ` dawei chien
2015-11-24  6:06     ` dawei chien
2015-11-24  7:53     ` Sascha Hauer
2015-11-24  7:53       ` Sascha Hauer
2015-11-09 10:13 [PATCH v10] Add Mediatek thermal support Sascha Hauer
2015-11-09 10:13 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-11-09 10:13   ` Sascha Hauer
2015-11-09 10:13   ` Sascha Hauer
2015-11-09 14:39   ` Andy Shevchenko
2015-11-09 14:39     ` Andy Shevchenko
2015-11-18  8:11     ` Sascha Hauer
2015-11-18  8:11       ` Sascha Hauer
2015-11-18  8:11       ` Sascha Hauer
2015-11-10 12:05   ` Javi Merino
2015-11-10 12:05     ` Javi Merino
2015-11-10 18:26     ` Eduardo Valentin
2015-11-10 18:26       ` Eduardo Valentin
2015-11-11  7:27       ` Sascha Hauer
2015-11-11  7:27         ` Sascha Hauer
2015-11-11  9:40         ` Javi Merino
2015-11-11  9:40           ` Javi Merino
2015-11-11  9:40           ` Javi Merino
2015-11-13 10:09         ` Sascha Hauer
2015-11-13 10:09           ` Sascha Hauer
2015-11-13 11:26           ` Javi Merino
2015-11-13 11:26             ` Javi Merino
2015-11-18  8:18             ` Sascha Hauer
2015-11-18  8:18               ` Sascha Hauer
2015-09-23 13:37 [PATCH v9] Add Mediatek thermal support Sascha Hauer
2015-09-23 13:37 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-09-23 13:37   ` Sascha Hauer
2015-09-23 18:31   ` Vladimir Zapolskiy
2015-09-23 18:31     ` Vladimir Zapolskiy
2015-09-23 18:31     ` Vladimir Zapolskiy
2015-09-30  6:14     ` Sascha Hauer
2015-09-30  6:14       ` Sascha Hauer
2015-09-29 23:04   ` Eduardo Valentin
2015-09-29 23:04     ` Eduardo Valentin
2015-09-29 23:04     ` Eduardo Valentin
2015-09-30  6:13     ` Sascha Hauer
2015-09-30  6:13       ` Sascha Hauer
2015-09-30  9:36   ` Punit Agrawal
2015-09-30  9:36     ` Punit Agrawal
2015-09-30  9:36     ` Punit Agrawal
2015-09-30 10:37     ` Sascha Hauer
2015-09-30 10:37       ` Sascha Hauer
2015-09-30 11:07       ` Punit Agrawal
2015-09-30 11:07         ` Punit Agrawal
2015-08-31  7:34 [PATCH v8] Add Mediatek thermal support Sascha Hauer
2015-08-31  7:34 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-08-31  7:34   ` Sascha Hauer
2015-08-31  7:34   ` Sascha Hauer
2015-09-14  7:32   ` Daniel Kurtz
2015-09-14  7:32     ` Daniel Kurtz
2015-09-14  7:32     ` Daniel Kurtz
2015-09-22  7:30     ` Daniel Kurtz
2015-09-22  7:30       ` Daniel Kurtz
2015-09-22  7:30       ` Daniel Kurtz
2015-09-22  8:30       ` Sascha Hauer
2015-09-22  8:30         ` Sascha Hauer
2015-09-22  8:30         ` Sascha Hauer
2015-08-27  6:41 [PATCH v7] Add Mediatek thermal support Sascha Hauer
2015-08-27  6:41 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-08-27 11:50   ` Punit Agrawal
2015-08-26 13:58 [PATCH v6] Add Mediatek thermal support Sascha Hauer
2015-08-26 13:58 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-08-20  8:05 [PATCH v5] Add Mediatek thermal support Sascha Hauer
2015-08-20  8:06 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-08-20 22:20   ` Eduardo Valentin
2015-08-20 22:29     ` Daniel Lezcano
2015-08-21  5:06     ` Sascha Hauer
2015-08-20 23:12   ` Daniel Lezcano
2015-08-26 13:54     ` Sascha Hauer
2015-08-26 14:02       ` Daniel Lezcano
2015-08-25 17:41   ` Daniel Kurtz
2015-08-05 12:25 [PATCH v3] Add Mediatek thermal support Sascha Hauer
2015-08-05 12:25 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-08-05 18:02   ` Daniel Kurtz
2015-08-06  8:10     ` Sascha Hauer
2015-07-21  7:59 [PATCH v2] Add Mediatek thermal support Sascha Hauer
2015-07-21  7:59 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-07-21  7:59   ` Sascha Hauer
2015-07-21 15:13   ` Daniel Kurtz
2015-07-21 15:13     ` Daniel Kurtz
2015-07-21 15:13     ` Daniel Kurtz
2015-08-05 10:20     ` Sascha Hauer
2015-08-05 10:20       ` Sascha Hauer
2015-08-05 10:20       ` Sascha Hauer
2015-07-13 10:34 [PATCH] thermal: Add Mediatek thermal support Sascha Hauer
2015-07-13 10:34 ` [PATCH 2/3] thermal: Add Mediatek thermal controller support Sascha Hauer
2015-07-13 10:34   ` Sascha Hauer

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=20150820075748.GP18700@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=djkurtz@chromium.org \
    --cc=edubezval@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=rui.zhang@intel.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 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.