xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Dirk Behme <dirk.behme@de.bosch.com>
Cc: devicetree@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@codeaurora.org>,
	Julien Grall <julien.grall@arm.com>,
	xen-devel@lists.xenproject.org, linux-clk@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2] xen/arm: register clocks used by the hypervisor
Date: Tue, 5 Jul 2016 12:07:37 +0100	[thread overview]
Message-ID: <20160705110736.GD20478__16834.2004683383$1467716948$gmane$org@leverpostej> (raw)
In-Reply-To: <b2431af6-f415-41db-5651-8cb8d3b08822@de.bosch.com>

Hi,

On Tue, Jul 05, 2016 at 12:45:34PM +0200, Dirk Behme wrote:
> On 05.07.2016 12:39, Mark Rutland wrote:
> >On Tue, Jul 05, 2016 at 08:50:23AM +0200, Dirk Behme wrote:
> >>+- clocks: one or more clocks to be registered.
> >>+  Xen hypervisor drivers might replace native drivers, resulting in
> >>+  clocks not registered by these native drivers. To avoid that these
> >>+  unregistered clocks are disabled by the Linux kernel initialization
> >>+  register them in the hypervisor node.
> >>+  An example for this are the clocks of a serial driver already enabled
> >>+  by the firmware. If the clocks used by the serial hardware interface
> >>+  are not registered by the serial driver itself the serial output
> >>+  might stop once the Linux kernel initialization disables the 'unused'
> >>+  clocks.
> >
> >The above describes the set of problems, but doesn't set out the actual
> >contract. It also covers a number of Linux implementation details in
> >abstract.
> 
> Could you kindly be a little more specific which 'implementation
> details' you don't like?

The fact that we disable some clocks at init time is a driver model
thing that depends on various factors (e.g. cmdline options), and it's
something that could be moved around. We only mention disabling, and not
rate change (which could happen, even if it doesn't today).

I don't think that we need to describe the Linux behaviour at all.

> E.g. to my understanding, the 'implementation detail' that Linux
> disables unregistered clocks is needed for the description.
> 
> If you have a different wording in mind, could you kindly share that?

Something like:

- clocks: a list of phandle + clock-specifier pairs 
  Clocks described by this property are reserved for use by Xen, and the
  OS must not alter their state any way, such as disabling or gating a
  clock, or modifying its rate. Ensuring this may impose constraints on
  parent clocks or other resources used by the clock tree.

  Note: this property is used to proxy clocks for devices Xen has taken
  ownership of, such as UARTs, for which the associated clock
  controller(s) remain under the control of Dom0.

> >As I commented previously [1], the binding should describe the set of
> >guarantees that you rewquire (e.g. that the clocks must be left as-is,
> >not gated, and their rates left unchanged).
> >
> >Please describe the specific set of guarantees that you require.
> 
> To my understanding this is done, already: "avoid that these ...
> clocks are disabled"

My point of contention here is that while this might tell a dts author
what to place in this property, it doesn't specify what the OS should
do.

Thanks,
Mark.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2016-07-05 11:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1467701423-31138-1-git-send-email-dirk.behme@de.bosch.com>
2016-07-05 10:39 ` [PATCH v2] xen/arm: register clocks used by the hypervisor Mark Rutland
     [not found] ` <20160705103917.GC20478@leverpostej>
2016-07-05 10:45   ` Dirk Behme
     [not found]   ` <b2431af6-f415-41db-5651-8cb8d3b08822@de.bosch.com>
2016-07-05 11:07     ` Mark Rutland [this message]
     [not found]     ` <20160705110736.GD20478@leverpostej>
2016-07-06 23:38       ` Michael Turquette
     [not found] <1467282752-14053-1-git-send-email-dirk.behme@de.bosch.com>
2016-06-30 14:21 ` Mark Rutland
     [not found] ` <20160630142136.GE20363@leverpostej>
2016-06-30 14:56   ` Dirk Behme
     [not found]   ` <57753328.9060300@gmail.com>
2016-06-30 15:18     ` Mark Rutland
2016-06-30 15:33       ` Julien Grall
2016-07-05 13:53 ` Stefano Stabellini
     [not found] ` <alpine.DEB.2.10.1607051449370.2575@sstabellini-ThinkPad-X260>
2016-07-05 13:54   ` Julien Grall
     [not found]   ` <577BBC1A.8020209@arm.com>
2016-07-05 14:02     ` Julien Grall
2016-07-05 14:04     ` Stefano Stabellini
     [not found]     ` <alpine.DEB.2.10.1607051456410.2575@sstabellini-ThinkPad-X260>
2016-07-05 14:08       ` Julien Grall
     [not found]       ` <577BBF69.8010809@arm.com>
2016-07-05 14:37         ` Stefano Stabellini
2016-07-06  1:34 ` Michael Turquette
     [not found] ` <146776885213.35356.11565744417822933094@resonance>
2016-07-06 13:10   ` Julien Grall
     [not found]   ` <577D035C.7090504@arm.com>
2016-07-06 13:16     ` Stefano Stabellini
     [not found]     ` <alpine.DEB.2.10.1607061412370.26575@sstabellini-ThinkPad-X260>
2016-07-06 13:26       ` Julien Grall
2016-07-06 13:48       ` Mark Rutland
2016-07-06 20:42     ` Michael Turquette
     [not found]     ` <146783774807.35356.6362595927321996311@resonance>
2016-07-07  7:32       ` Dirk Behme
     [not found]       ` <dad950db-4c02-e5a2-0ce9-682a40cd12d7@de.bosch.com>
2016-07-08  2:50         ` Michael Turquette
     [not found]         ` <146794625655.73491.13497001485518368066@resonance>
2016-07-08  5:51           ` Dirk Behme
     [not found]           ` <373bf006-1a5e-0b2b-278d-d5ec0d8737fd@de.bosch.com>
2016-07-08  9:21             ` Julien Grall
2016-07-08  6:48   ` Dirk Behme
     [not found]   ` <20733b68-9529-bdb9-2a7d-576c8193f15c@de.bosch.com>
2016-07-08  9:35     ` Julien Grall
2016-07-05  6:50 Dirk Behme
  -- strict thread matches above, loose matches on Subject: below --
2016-06-30 10:32 Dirk Behme

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='20160705110736.GD20478__16834.2004683383$1467716948$gmane$org@leverpostej' \
    --to=mark.rutland@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dirk.behme@de.bosch.com \
    --cc=julien.grall@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=sboyd@codeaurora.org \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.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).