From: pure.logic@nexus-software.ie (Bryan O'Donoghue)
To: linux-arm-kernel@lists.infradead.org
Subject: [GIT PULL] Greybus driver subsystem for 4.9-rc1
Date: Thu, 15 Sep 2016 16:40:00 +0100 [thread overview]
Message-ID: <1473954000.4035.5.camel@nexus-software.ie> (raw)
In-Reply-To: <20160915124601.GA9316@leverpostej>
On Thu, 2016-09-15 at 13:46 +0100, Mark Rutland wrote:
> On Thu, Sep 15, 2016 at 12:48:08PM +0100, Bryan O'Donoghue wrote:
> >
> > On Thu, 2016-09-15 at 12:20 +0100, Mark Rutland wrote:
> > >
> > > For example, you have absolutely no guarantee as to what backs
> > > get_cycles(). Despite this, the code assumes that get_cycles() is
> > > backed by something running at the frequency described in a
> > > "google,greybus-frame-time-counter" node.
> > >
> > > Even if this *happens* to match what some piece of arch code
> > > provides
> > > today on some platform, it is in no way *guaranteed*.
> > That's the point though, if you declare "google,greybus-frame-time-
> > counter" in your platform code - then you can use 'get_cycles()' in
> > this manner
> To be clear, *some* properties (and perhaps additional nodes) may
> need
> to be in the DT, in order to capture the hardware property or
> relationship that you are reliant upon.
Sure but on the relevant platform we know?
1. get_cycles() is derived from an architectured MMIO timer
2. What is clocking that timer
So any platform that declares that property must be aware of what its
doing.
For clarity this is the alternative to reading another register
directly bypassing get_cycles().
> >
> > >
> > > Without a higher-level view of what you're trying to achieve,
> > > it's
> > > not clear to me whether get_cycles() is the right interface.
> > I appreciate that.
> Until that's clarified, we won't make any progress here.
Let's see. We're synchronizing a set of distributed timers via a GPIO
pulse. Each processor on the system has at least one timer block
directly driven by the refclk at 19.2MHz?or a PLL driven by refclk at 19.2MHz
FrameTime is a 64 bit free-running counter running @19.2MHz that is
used as a common source of reference for events. On the MSM side this
implies reading one of the timers driven by that refclk directly.
The choices on MSM8994 to access one of those timer blocks are
1. Read the register directly as is done in earlier patches or
2. Read get_cycles() as is done in later patches.
It's no more complex than that.
---
bod
next prev parent reply other threads:[~2016-09-15 15:40 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20160914100949.GA6179@kroah.com>
2016-09-14 17:36 ` [GIT PULL] Greybus driver subsystem for 4.9-rc1 Mark Rutland
2016-09-14 18:07 ` Greg KH
2016-09-14 18:29 ` Greg KH
2016-09-14 19:05 ` Joe Perches
2016-09-15 9:35 ` Bryan O'Donoghue
2016-09-15 10:13 ` Mark Rutland
2016-09-15 10:35 ` Bryan O'Donoghue
2016-09-15 10:47 ` Bryan O'Donoghue
2016-09-15 11:20 ` Mark Rutland
2016-09-15 11:48 ` Bryan O'Donoghue
2016-09-15 12:46 ` Mark Rutland
2016-09-15 15:40 ` Bryan O'Donoghue [this message]
2016-09-15 15:47 ` Mark Rutland
2016-09-15 16:09 ` Bryan O'Donoghue
2016-09-14 20:07 ` Rob Herring
2016-09-15 10:17 ` Greg KH
2016-09-15 11:02 ` Bryan O'Donoghue
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=1473954000.4035.5.camel@nexus-software.ie \
--to=pure.logic@nexus-software.ie \
--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 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).