All of lore.kernel.org
 help / color / mirror / Atom feed
From: marc.ceeeee@gmail.com (Marc C)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC] ARM Generic Timer + Interaction with WFI on Cortex-A15
Date: Tue, 26 Nov 2013 03:03:22 -0800	[thread overview]
Message-ID: <52947FFA.90504@gmail.com> (raw)
In-Reply-To: <20131126101041.GA12304@e102568-lin.cambridge.arm.com>

Hi Lorenzo,

> So what's the problem then ? Just avoid adding CPUIDLE_FLAG_TIMER_STOP
> to the C-state flags and you are all set, or I am missing something
> here ?

The C3STOP flag prevents the kernel from using the timer as a
high-resolution clock source. There are some patches that remove the
C3STOP flag [1] in order for the timer to function for use with hrtimer.
I think something similar could be manageable as a DT property on the
armv7-timer binding.

> Yes I do object. Timer binding is global in the DT and do not want to
> override the flag for all local timers when, as I mentioned, A15
> behaviour is just an exception. If you really need that, please write
> an idle driver that does not enter broadcast mode on C-state entry
> (see above).

So what you're saying is that you'll outright disapprove of any patch
that would otherwise help ensure the kernel would run on any/all
variations of armv7-timer? I would imagine that we'd want things to be
more inclusive, and since there are quite a few SoCs with the timer that
behave in this manner.

I'm not trying to be a thorn in your side. I just want to make sure
everyone that has an implementation similar to ours is covered, too.

I appreciate your feedback.

Thanks,
Marc

[1] https://lkml.org/lkml/2013/6/16/245

[1] https://lkml.org/lkml/2013/6/16/245
On 11/26/13, 2:10 AM, Lorenzo Pieralisi wrote:
> Hi Marc,
> 
> On Tue, Nov 26, 2013 at 06:42:03AM +0000, Marc C wrote:
>> Hello Lorenzo,
>>
>>> It is an A15 oddity and we should not care, given that this behaviour
>>> is platform specific and likely to fail in most common A15
>>> implementations.
>>
>> I'm supporting a platform where this "oddity" is actually a relied-upon
>> feature. Our ARMv7-compliant MPCore implements the ARM Generic Timer per
>> spec. Our implementation isn't a constituent of a big.LITTLE
>> arrangement, and we'll never completely power-off all cores (we just use
>> WFI).
> 
> So what's the problem then ? Just avoid adding CPUIDLE_FLAG_TIMER_STOP
> to the C-state flags and you are all set, or I am missing something here ?
> 
>> According to the documentation that currently exists, it seems that the
>> behavior of the ARM Generic Timer on cores like the A15 is really just
>> an attribute of that specific implementation. As you've alluded to,
>> there may be other implementations that are also usable when the CPUs
>> enter WFI. That said, do you object to having an optional boolean
>> property in the arch_timer DT binding [1] which allows users to override
>> the C3STOP flag? The default behavior would be as is currently
>> implemented, and for the odd machines we can add the new property to the DT.
> 
> Yes I do object. Timer binding is global in the DT and do not want to
> override the flag for all local timers when, as I mentioned, A15 behaviour is
> just an exception. If you really need that, please write an idle driver that
> does not enter broadcast mode on C-state entry (see above).
> 
> Thanks,
> Lorenzo
> 

  reply	other threads:[~2013-11-26 11:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-21  7:58 [RFC] ARM Generic Timer + Interaction with WFI on Cortex-A15 Marc C
2013-11-21 12:00 ` Lorenzo Pieralisi
2013-11-26  6:42   ` Marc C
2013-11-26 10:10     ` Lorenzo Pieralisi
2013-11-26 11:03       ` Marc C [this message]
2013-11-26 12:28         ` Lorenzo Pieralisi
2013-11-26 15:18           ` Santosh Shilimkar
2014-01-30 16:19         ` Lorenzo Pieralisi

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=52947FFA.90504@gmail.com \
    --to=marc.ceeeee@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.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 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.