devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Tai Tri Nguyen <ttnguyen-qTEPVZfXA3Y@public.gmane.org>
Cc: will.deacon-5wv7dgnIgG8@public.gmane.org,
	catalin.marinas-5wv7dgnIgG8@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	patches <patches-qTEPVZfXA3Y@public.gmane.org>
Subject: Re: [PATCH 2/4] Documentation: Add documentation for APM X-Gene SoC PMU DTS binding
Date: Tue, 5 Apr 2016 20:31:15 +0100	[thread overview]
Message-ID: <20160405193114.GB5946@svinekod> (raw)
In-Reply-To: <CACgAJHwZ=CwyvxLmuXdOAw2oFhfoC2jkdOY1HPenCsEaYLjrPw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On Tue, Apr 05, 2016 at 11:51:02AM -0700, Tai Tri Nguyen wrote:
> Hi Mark,
> 
> On Mon, Apr 4, 2016 at 4:38 PM, Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> wrote:
> > On Mon, Apr 04, 2016 at 04:40:33PM -0700, Tai Tri Nguyen wrote:
> >> On Fri, Apr 1, 2016 at 5:30 AM, Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> wrote:
> >> > On Thu, Mar 31, 2016 at 04:37:50PM -0700, Tai Nguyen wrote:
> >> >> +This is APM X-Gene SoC PMU (Performance Monitoring Unit) module.
> >> >> +The following PMU devices are supported:
> >> >> +
> >> >> +  L3C                        - L3 cache controller
> >> >> +  IOB                        - IO bridge
> >> >> +  MCB                        - Memory controller bridge
> >> >> +  MC                 - Memory controller
> >> >
> >> > These sound like separate units. How do these relate?
> >> >
> >> > Is there an SOC-wide PMU that aggregates counters, or are these actually
> >> > independent?
> >> >
> >>
> >> Yes, they are independent, but sharing the same top level status interrupt.
> >> There's no SOC-wide PMU which aggregates these counters.
> >
> > If they're just sharing the interrupt, why are they not separate nodes (and
> > drivers) which simply happen to share an interrupt?
> >
> > Is there anything else shared?
> 
> Yes, a long with the interrupt they also share top level PMU status CSR region.

Ah, ok. I had missed that.

What exactly exists in that region? Are the shared registers just for handling
the shared interrupt, or are they used to handle other parts of the PMUs too?

> >> >> +Required properties for L3C subnode:
> >> >> +- compatible         : Shall be "apm,xgene-pmu-l3c".
> >> >> +- reg                        : First resource shall be the L3C PMU resource.
> >> >> +- index                      : Instance number of the L3C PMU.
> >> >> +
> >> >> +Required properties for IOB subnode:
> >> >> +- compatible         : Shall be "apm,xgene-pmu-iob".
> >> >> +- reg                        : First resource shall be the IOB PMU resource.
> >> >> +- index                      : Instance number of the IOB PMU.
> >> >> +
> >> >> +Required properties for MCB subnode:
> >> >> +- compatible         : Shall be "apm,xgene-pmu-mcb".
> >> >> +- reg                        : First resource shall be the MCB PMU resource.
> >> >> +- index                      : Instance number of the MCB PMU.
> >> >> +
> >> >> +Required properties for MC subnode:
> >> >> +- compatible         : Shall be "apm,xgene-pmu-mc".
> >> >> +- reg                        : First resource shall be the MC PMU resource.
> >> >> +- index                      : Instance number of the MC PMU.
> >> >
> >> > What's the index property useful for?
> >> >
> >>
> >> The index property is used for indicating the physical hardware PMU id.
> >> For example, on X-Gene1 there are 4 memory controllers (MC), each of them has
> >> its own PMU. The index property tells us which MC a PMU belongs to.
> >> The same for MCB/L3C and IOB.
> >
> > Sure, but is this simply informative for the user, or does this have an impact
> > on the programming model?
> >
> 
> Yes, it does impact. For example, there are 4 PMUs associated with 4 MCs.
> They all certainly have the same sort of events. The index will help
> to determine
> the right event users want to monitor. Below is an example of perf list output:
> ...
> mc0/mcu-rd-request/
> ...
> mc1/mcu-rd-request/

By "programming model" I mean the way the kernel interacts with the device,
rather than the interface exposed to userspace. For example, does the index
affect which bits are used in the shared CSR region?

If it's only used for the name exposed to userspace, that's fine.

Otherwise, there may be subtle gotchas.

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2016-04-05 19:31 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-31 23:37 [PATCH 0/4] perf: Add APM X-Gene SoC Performance Monitoring Unit driver Tai Nguyen
2016-03-31 23:37 ` [PATCH 1/4] MAINTAINERS: Add entry for APM X-Gene SoC PMU driver Tai Nguyen
2016-03-31 23:37 ` [PATCH 2/4] Documentation: Add documentation for APM X-Gene SoC PMU DTS binding Tai Nguyen
     [not found]   ` <1459467472-31561-3-git-send-email-ttnguyen-qTEPVZfXA3Y@public.gmane.org>
2016-04-01 12:30     ` Mark Rutland
2016-04-01 12:32       ` Mark Rutland
2016-04-04 23:40       ` Tai Tri Nguyen
2016-04-04 23:38         ` Mark Rutland
2016-04-05 18:51           ` Tai Tri Nguyen
     [not found]             ` <CACgAJHwZ=CwyvxLmuXdOAw2oFhfoC2jkdOY1HPenCsEaYLjrPw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-05 19:31               ` Mark Rutland [this message]
2016-04-05 21:51                 ` Tai Tri Nguyen
2016-03-31 23:37 ` [PATCH 3/4] perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver Tai Nguyen
     [not found]   ` <1459467472-31561-4-git-send-email-ttnguyen-qTEPVZfXA3Y@public.gmane.org>
2016-04-01 12:18     ` Mark Rutland
2016-04-04 23:42       ` Tai Tri Nguyen
2016-04-04 23:33         ` Mark Rutland
2016-04-05 18:50           ` Tai Tri Nguyen
     [not found]             ` <CACgAJHx6Y8yt57m3YB51dOQjuxNHFvEnJe255mDhnVZOjmJu_A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-04-05 19:21               ` Mark Rutland
2016-04-05 21:50                 ` Tai Tri Nguyen
2016-03-31 23:37 ` [PATCH 4/4] arm64: dts: apm: Add APM X-Gene SoC PMU DTS entries Tai Nguyen

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=20160405193114.GB5946@svinekod \
    --to=mark.rutland-5wv7dgnigg8@public.gmane.org \
    --cc=catalin.marinas-5wv7dgnIgG8@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=patches-qTEPVZfXA3Y@public.gmane.org \
    --cc=ttnguyen-qTEPVZfXA3Y@public.gmane.org \
    --cc=will.deacon-5wv7dgnIgG8@public.gmane.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).