linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Longnecker <mlongnecker@nvidia.com>
To: linux-pm@vger.kernel.org
Cc: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/6] thermal: of: Add support for hardware-tracked trip points
Date: Mon, 21 Jul 2014 16:53:04 -0700	[thread overview]
Message-ID: <53CDA7E0.2060207@nvidia.com> (raw)
In-Reply-To: <53B2FADC.8060708@wwwdotorg.org>

On 7/1/2014 11:15 AM, Stephen Warren wrote:
> On 07/01/2014 01:27 AM, Mikko Perttunen wrote:
>> >Inline.
>> >
>> >On 01/07/14 00:08, Stephen Warren wrote:
>>> >>On 06/27/2014 02:11 AM, Mikko Perttunen wrote:
>>>> >>>This adds support for hardware-tracked trip points to the device tree
>>>> >>>thermal sensor framework.
>>>> >>>
>>>> >>>The framework supports an arbitrary number of trip points. Whenever
>>>> >>>the current temperature is updated, the trip points immediately
>>>> >>>below and above the current temperature are found. A sensor driver
>>>> >>>callback `set_trips' is then called with the temperatures.
>>>> >>>If there is no trip point above or below the current temperature,
>>>> >>>the passed trip temperature will be LONG_MAX or LONG_MIN respectively.
>>>> >>>In this callback, the driver should program the hardware such that
>>>> >>>it is notified when either of these trip points are triggered.
>>>> >>>When a trip point is triggered, the driver should call
>>>> >>>`thermal_zone_device_update' for the respective thermal zone. This
>>>> >>>will cause the trip points to be updated again.
>>>> >>>
>>>> >>>If the `set_trips' callback is not implemented (is NULL), the framework
>>>> >>>behaves as before.
>>> >>
>>> >>Is there no "core thermal" code? I would have expected this new feature
>>> >>to be implemented in "core" code rather than of/dt "support" code.
>>> >>Perhaps there would also be some additions to the of/dt code, but I'd
>>> >>still expect the bulk of the feature to be complete independant of
>>> >>of/dt. Systems still using board files or ACPI or ... would surely
>>> >>benefit from this too?

Stephen, the "core thermal code" defined two major object types:
  * a thermal zone
  * a cooling device

Each thermal zone corresponds to a physical region in space within a 
device. A sane person might expect there to be one physical temperature 
sensor associated with each zone. But, that's not always the case.

Because the thermal core did not expose the concept of a "sensor" 
separately from a "zone", many drivers which register thermal zones are 
messy -- they include a mix of device driver code (i.e. poking at 
register for a thermal sensor IP block) and device-agnostic code for 
implementing behaviors required of a thermal zone.

of-thermal does more than just parse device tree. It registers thermal 
zones using its own implementation of that device-agnostic code. Having 
that centralized implementation of the thermal zone code allows thermal 
sensor device drivers which talk to of-thermal to be simpler than 
drivers which try to talk directly to the thermal core.

The fact that you need to use DT to make use of the simpler sensor 
driver interface doesn't seem like a good reason to push back on Mikko's 
change.

-Matt


  parent reply	other threads:[~2014-07-21 23:53 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-27  8:11 [PATCH 0/6] of-thermal hardware trip points + Tegra124 SOCTHERM driver Mikko Perttunen
2014-06-27  8:11 ` [PATCH 1/6] thermal: of: Add support for hardware-tracked trip points Mikko Perttunen
2014-06-30 21:08   ` Stephen Warren
2014-07-01  7:27     ` Mikko Perttunen
2014-07-01 18:15       ` Stephen Warren
2014-07-03 14:15         ` Mikko Perttunen
2014-07-21 23:53         ` Matthew Longnecker [this message]
2014-07-30 14:16   ` Eduardo Valentin
2014-08-01 11:42     ` Mikko Perttunen
     [not found]       ` <53DB7D0D.1070508-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-08-01 13:15         ` edubezval-Re5JQEeQqe8AvxtiuMwx3w
2014-06-27  8:11 ` [PATCH 2/6] of: Add bindings for nvidia,tegra124-soctherm Mikko Perttunen
     [not found]   ` <1403856699-2140-3-git-send-email-mperttunen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-06-30 20:40     ` Stephen Warren
2014-06-27  8:11 ` [PATCH 3/6] ARM: tegra: Add thermal trip points for Jetson TK1 Mikko Perttunen
2014-06-30 20:45   ` Stephen Warren
2014-06-27  8:11 ` [PATCH 4/6] ARM: tegra: Add soctherm and thermal zones to Tegra124 device tree Mikko Perttunen
     [not found]   ` <1403856699-2140-5-git-send-email-mperttunen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-06-30 20:48     ` Stephen Warren
2014-07-01  7:49       ` Mikko Perttunen
2014-07-21 23:12   ` Matthew Longnecker
2014-07-21 23:13   ` Matthew Longnecker
     [not found] ` <1403856699-2140-1-git-send-email-mperttunen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-06-27  8:11   ` [PATCH 5/6] clk: tegra: Add soctherm and tsensor clocks to Tegra124 init table Mikko Perttunen
2014-06-27 12:18     ` Peter De Schrijver
2014-06-27  8:11 ` [PATCH 6/6] thermal: Add Tegra SOCTHERM thermal management driver Mikko Perttunen
2014-06-30 21:23   ` Stephen Warren
2014-07-01  8:06     ` Mikko Perttunen
     [not found]       ` <53B26BF2.7090009-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-07-01 18:26         ` Stephen Warren
2014-07-03 13:51           ` Mikko Perttunen
     [not found]   ` <1403856699-2140-7-git-send-email-mperttunen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2014-07-01 23:47     ` Tuomas Tynkkynen
2014-07-04  8:43   ` Wei Ni
2014-07-04 11:52     ` Mikko Perttunen
2014-07-21  7:42 ` [PATCH 0/6] of-thermal hardware trip points + Tegra124 SOCTHERM driver Zhang Rui

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=53CDA7E0.2060207@nvidia.com \
    --to=mlongnecker@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.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).