mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alexander Shishkin <alexander.shishkin@linux.intel.com>
To: Mike Leach <Mike.Leach@arm.com>,
	Chunyan Zhang <zhang.chunyan@linaro.org>,
	"mathieu.poirier\@linaro.org" <mathieu.poirier@linaro.org>
Cc: "robh\@kernel.org" <robh@kernel.org>,
	"broonie\@kernel.org" <broonie@kernel.org>,
	"pratikp\@codeaurora.org" <pratikp@codeaurora.org>,
	"nicolas.guion\@st.com" <nicolas.guion@st.com>,
	"corbet\@lwn.net" <corbet@lwn.net>,
	Mark Rutland <Mark.Rutland@arm.com>, "tor\@ti.com" <tor@ti.com>,
	Al Grant <Al.Grant@arm.com>,
	"zhang.lyra\@gmail.com" <zhang.lyra@gmail.com>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel\@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-api\@vger.kernel.org" <linux-api@vger.kernel.org>,
	"linux-doc\@vger.kernel.org" <linux-doc@vger.kernel.org>
Subject: RE: [PATCH V2 3/6] stm class: provision for statically assigned masterIDs
Date: Mon, 08 Feb 2016 12:52:57 +0200	[thread overview]
Message-ID: <87si13cw3a.fsf@ashishki-desk.ger.corp.intel.com> (raw)
In-Reply-To: <DB3PR08MB0041B8843C61FCEB049B2BB58CD20@DB3PR08MB0041.eurprd08.prod.outlook.com>

Mike Leach <Mike.Leach@arm.com> writes:

> Hi,
>
> I think a quick clarification of the ARM hardware STM architecture may be of value here.
>
> The ARM hardware STM, when implemented as recommend in a hardware design, the master IDs are not under driver control, but have a hardwire association with source devices in the system. The master IDs are hardwired to individual cores and core security states, and there could be other IDs associated with hardware trace sources requiring output via the hardware STM. (an example of this is the ARM Juno development board).
>
> Therefore in multi-core systems many masters may be associated with a single software STM stream. A user-space application running on Core 1, may have a master ID of 0x11 in the STPv2 trace stream, but if this application is context switched and later continues running on Core 2, then master ID could change to 0x21.  Masters identify a hardware source in this scheme, the precise values used will be implementation dependent.
>
> So the number of masters "available to the software" depends on your interpretation of the phrase.
> If you mean "master IDs on which software trace will appear" then that will be many - it depends on which core is running the application. However as described above, this is not predictable by any decoder, and the master set used may not be contiguous.
> If you mean "master IDs selectable/allocated by the driver" then that will be 0 - the driver has no control, and possibly no knowledge of which master is associated with the current execution context. (this is of course system dependent - it may well be possible to have some configuration database associating cores with hardware IDs, but this will be implementation and board support dependant).
>
> Therefore, there is a requirement to tell both the user-space STM client and decoder that not only is master ID management not needed - it is in fact not possible and the key to identify the software source for a given STM packet is the channel alone. In addition we have a nominal single Master ID "available to the software", to satisfy the requirements of the generic ST module API.
>
> So on Juno for example, while we do have 128 masters, each with 65536 channels, the master allocation is not visible to system software - each core sees a single master with 65536 channels. Therefore differentiation between software sources in the STM trace is by channel number allocations only.

Ok, thanks a lot for the detailed explanation. I was confused by the
"static" bit in the patch description. It looks like something along the
lines of this patch might indeed be in order.

Regards,
--
Alex

  reply	other threads:[~2016-02-08 10:55 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-03  8:15 [PATCH V2 0/6] Introduce CoreSight STM support Chunyan Zhang
2016-02-03  8:15 ` [PATCH V2 1/6] stm class: Add ioctl get_options interface Chunyan Zhang
2016-02-05 12:55   ` Alexander Shishkin
2016-02-03  8:15 ` [PATCH V2 2/6] stm class: adds a loop to extract the first valid STM device name Chunyan Zhang
2016-02-03 10:05   ` kbuild test robot
2016-02-03 10:05   ` [PATCH] stm class: fix semicolon.cocci warnings kbuild test robot
2016-02-04  8:56   ` [PATCH V2 2/6] stm class: adds a loop to extract the first valid STM device name Chunyan Zhang
2016-02-04 17:30     ` Alexander Shishkin
2016-02-05  3:18       ` Chunyan Zhang
2016-02-03  8:15 ` [PATCH V2 3/6] stm class: provision for statically assigned masterIDs Chunyan Zhang
2016-02-05 12:52   ` Alexander Shishkin
2016-02-05 16:31     ` Mike Leach
2016-02-08 10:52       ` Alexander Shishkin [this message]
2016-02-05 18:08     ` Mathieu Poirier
2016-02-08 13:26       ` Alexander Shishkin
2016-02-08 17:05         ` Mathieu Poirier
2016-02-08 17:44           ` Al Grant
2016-02-09 17:06             ` Mathieu Poirier
2016-02-12 15:54             ` Alexander Shishkin
2016-02-12 16:27           ` Alexander Shishkin
2016-02-12 20:33             ` Mathieu Poirier
2016-02-22 18:01               ` Mathieu Poirier
2016-02-03  8:15 ` [PATCH V2 4/6] Documentations: Add explanations of the case for non-configurable masters Chunyan Zhang
2016-02-03  8:15 ` [PATCH V2 5/6] coresight-stm: Bindings for System Trace Macrocell Chunyan Zhang
2016-02-03  8:15 ` [PATCH V2 6/6] coresight-stm: adding driver for CoreSight STM component Chunyan Zhang
2016-02-05 13:06   ` Alexander Shishkin
2016-02-05 14:30     ` Arnd Bergmann

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=87si13cw3a.fsf@ashishki-desk.ger.corp.intel.com \
    --to=alexander.shishkin@linux.intel.com \
    --cc=Al.Grant@arm.com \
    --cc=Mark.Rutland@arm.com \
    --cc=Mike.Leach@arm.com \
    --cc=broonie@kernel.org \
    --cc=corbet@lwn.net \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=nicolas.guion@st.com \
    --cc=pratikp@codeaurora.org \
    --cc=robh@kernel.org \
    --cc=tor@ti.com \
    --cc=zhang.chunyan@linaro.org \
    --cc=zhang.lyra@gmail.com \
    /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

all inboxes | Powered by JetHome®