From: Dirk Behme <dirk.behme@de.bosch.com>
To: Julien Grall <julien.grall@arm.com>,
Michael Turquette <mturquette@baylibre.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree@vger.kernel.org,
Stefano Stabellini <sstabellini@kernel.org>,
Stephen Boyd <sboyd@codeaurora.org>,
xen-devel@lists.xenproject.org, linux-clk@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3] xen/arm: enable clocks used by the hypervisor
Date: Fri, 8 Jul 2016 12:40:23 +0200 [thread overview]
Message-ID: <437b5eff-4294-3493-b1b2-0ff2c10525e3__43241.5652358488$1467974489$gmane$org@de.bosch.com> (raw)
In-Reply-To: <577F73B3.8090807@arm.com>
Hi Michael and Julien,
On 08.07.2016 11:34, Julien Grall wrote:
> Hi Dirk,
>
> On 08/07/16 08:44, Dirk Behme wrote:
>> Xen hypervisor drivers might replace native OS drivers. The result is
>> that some important clocks that are enabled by the OS in the non-Xen
>> case are not properly enabled in the presence of Xen. The clocks
>> property enumerates the clocks that must be enabled by the Xen clock
>> consumer.
>>
>> An example is a serial driver enabled by the hypervisor. Xen must
>
> I would say "An example is the UART used by the hypervisor."
>
>> consume and enable these clocks in the OS to ensure behavior continues
>> after firmware configures the UART hardware and corresponding clock
>> harder.
>
> What do you mean by "harder"?
>
> Also, relying on DOM0 to enable the clock looks very wrong to me and you
> give an example which prove that. The UART will be used before hand by
> Xen, however it will not be possible to use it if you expect DOM0 to
> enable the clock (or even modify the clock frequency).
>
> The clock should be enabled either by the firmware or Xen. But not DOM0.
> DOM0 should not touch this clock at all.
>
> Furthermore, this property could be used for clock associated to device
> that will be passthrough-ed to a guest. In this case, the clock would be
> enabled even if the device is not in use which will result more power
> consumption.
I took the description directly from Michael's proposal
http://www.spinics.net/lists/arm-kernel/msg516576.html
Would it be possible that you two experts agree on the exact wording you
like to see?
Best regards
Dirk
>> Up to now, the workaround for this has been to use the Linux kernel
>> command line parameter 'clk_ignore_unused'. See Xen bug
>>
>> http://bugs.xenproject.org/xen/bug/45
>>
>> too.
>>
>> To fix this, we will add the "unused" clocks in Xen to the hypervisor
>> node. The OS has to consume and enable the clocks from the hypervisor
>> node, then.
>>
>> Therefore, check if there is a "clocks" entry in the hypervisor node
>> and if so consume and enable the given clocks. This prevents the clocks
>> from being disabled by the OS.
>>
>> Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
>> ---
>> Changes in v3: Use the xen.txt description proposed by Michael. Thanks!
>>
>> Changes in v2: Drop the Linux implementation details like
>> clk_disable_unused
>> in xen.txt.
>>
>> Documentation/devicetree/bindings/arm/xen.txt | 13 ++++++++
>> arch/arm/xen/enlighten.c | 47
>> +++++++++++++++++++++++++++
>> 2 files changed, 60 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/xen.txt
>> b/Documentation/devicetree/bindings/arm/xen.txt
>> index c9b9321..00f2165 100644
>> --- a/Documentation/devicetree/bindings/arm/xen.txt
>> +++ b/Documentation/devicetree/bindings/arm/xen.txt
>> @@ -17,6 +17,19 @@ the following properties:
>> A GIC node is also required.
>> This property is unnecessary when booting Dom0 using ACPI.
>>
>> +Optional properties:
>> +
>> +clocks: one or more clocks to be enabled
>> + Xen hypervisor drivers might replace native OS drivers. The result is
>
> "native OS" has no meaning on Xen. This seems to be a cumbersome way to
> say that the device will be used by the hypervisor and hidden to DOM0
> (aka hardware domain).
>
>> + that some important clocks that are enabled by the OS in the non-Xen
>> + case are not properly enabled in the presence of Xen. The clocks
>> + property enumerates the clocks that must be enabled by the Xen clock
>> + consumer.
>> + An example is a serial driver enabled by the hypervisor. Xen must
>> + consume and enable these clocks in the OS to ensure behavior continues
>> + after firmware configures the UART hardware and corresponding clock
>> + harder.
>> +
>> To support UEFI on Xen ARM virtual platforms, Xen populates the FDT
>> "uefi" node
>> under /hypervisor with following parameters:
>
> Regards,
>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-07-08 10:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1467963871-31556-1-git-send-email-dirk.behme@de.bosch.com>
2016-07-08 9:34 ` [PATCH v3] xen/arm: enable clocks used by the hypervisor Julien Grall
[not found] ` <577F73B3.8090807@arm.com>
2016-07-08 10:40 ` Dirk Behme [this message]
[not found] ` <437b5eff-4294-3493-b1b2-0ff2c10525e3@de.bosch.com>
2016-07-08 10:49 ` Julien Grall
[not found] ` <577F853D.405@arm.com>
2016-07-08 17:00 ` Michael Turquette
2016-07-08 17:06 ` Michael Turquette
[not found] ` <146799758568.73491.4432005583661196579@resonance>
2016-07-12 9:21 ` Julien Grall
[not found] ` <5784B688.7050903@arm.com>
2016-07-12 18:11 ` Michael Turquette
2016-07-08 7:44 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='437b5eff-4294-3493-b1b2-0ff2c10525e3__43241.5652358488$1467974489$gmane$org@de.bosch.com' \
--to=dirk.behme@de.bosch.com \
--cc=devicetree@vger.kernel.org \
--cc=julien.grall@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=mark.rutland@arm.com \
--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).