linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Mike Leach <mike.leach@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org, coresight@lists.linaro.org,
	linux-doc@vger.kernel.org, suzuki.poulose@arm.com
Subject: Re: [PATCH v4 6/6] coresight: docs: Add information about the topology representations.
Date: Fri, 14 Feb 2020 16:10:51 -0700	[thread overview]
Message-ID: <20200214231051.GC20024@xps15> (raw)
In-Reply-To: <20200211105808.27884-7-mike.leach@linaro.org>

On Tue, Feb 11, 2020 at 10:58:08AM +0000, Mike Leach wrote:
> Update the CoreSight documents to describe the new connections directory
> and the links between CoreSight devices in this directory.
> 
> Signed-off-by: Mike Leach <mike.leach@linaro.org>
> ---
>  .../trace/coresight/coresight-ect.rst         |  5 +-
>  Documentation/trace/coresight/coresight.rst   | 85 +++++++++++++++++++
>  2 files changed, 89 insertions(+), 1 deletion(-)
> 

Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>

> diff --git a/Documentation/trace/coresight/coresight-ect.rst b/Documentation/trace/coresight/coresight-ect.rst
> index 067cee91c857..3539af895832 100644
> --- a/Documentation/trace/coresight/coresight-ect.rst
> +++ b/Documentation/trace/coresight/coresight-ect.rst
> @@ -71,7 +71,7 @@ capable of generating or using trigger signals.::
>  
>    >$ ls /sys/bus/coresight/devices/etm0/cti_cpu0
>    channels  ctmid  enable  nr_trigger_cons mgmt  power  regs  subsystem
> -  triggers0 triggers1  uevent
> +  connections triggers0 triggers1  uevent
>  
>  *Key file items are:-*
>     * ``enable``: enables/disables the CTI.
> @@ -84,6 +84,9 @@ capable of generating or using trigger signals.::
>     * ``channels``: Contains the channel API - CTI main programming interface.
>     * ``regs``: Gives access to the raw programmable CTI regs.
>     * ``mgmt``: the standard CoreSight management registers.
> +   * ``connections``: Links to connected *CoreSight* devices. The number of
> +     links can be 0 to ``nr_trigger_cons``. Actual number given by ``nr_links``
> +     in this directory.
>  
>  
>  triggers<N> directories
> diff --git a/Documentation/trace/coresight/coresight.rst b/Documentation/trace/coresight/coresight.rst
> index 108600ee1e12..0b73acb44efa 100644
> --- a/Documentation/trace/coresight/coresight.rst
> +++ b/Documentation/trace/coresight/coresight.rst
> @@ -241,6 +241,91 @@ to the newer scheme, to give a confirmation that what you see on your
>  system is not unexpected. One must use the "names" as they appear on
>  the system under specified locations.
>  
> +Topology Representation
> +-----------------------
> +
> +Each CoreSight component has a ``connections`` directory which will contain
> +links to other CoreSight components. This allows the user to explore the trace
> +topology and for larger systems, determine the most appropriate sink for a
> +given source. The connection information can also be used to establish
> +which CTI devices are connected to a given component. This directory contains a
> +``nr_links`` attribute detailing the number of links in the directory.
> +
> +For an ETM source, in this case ``etm0`` on a Juno platform, a typical
> +arrangement will be::
> +
> +  linaro-developer:~# ls - l /sys/bus/coresight/devices/etm0/connections
> +  <file details>  cti_cpu0 -> ../../../23020000.cti/cti_cpu0
> +  <file details>  nr_links
> +  <file details>  out:0 -> ../../../230c0000.funnel/funnel2
> +
> +Following the out port to ``funnel2``::
> +
> +  linaro-developer:~# ls -l /sys/bus/coresight/devices/funnel2/connections
> +  <file details> in:0 -> ../../../23040000.etm/etm0
> +  <file details> in:1 -> ../../../23140000.etm/etm3
> +  <file details> in:2 -> ../../../23240000.etm/etm4
> +  <file details> in:3 -> ../../../23340000.etm/etm5
> +  <file details> nr_links
> +  <file details> out:0 -> ../../../20040000.funnel/funnel0
> +
> +And again to ``funnel0``::
> +
> +  linaro-developer:~# ls -l /sys/bus/coresight/devices/funnel0/connections
> +  <file details> in:0 -> ../../../220c0000.funnel/funnel1
> +  <file details> in:1 -> ../../../230c0000.funnel/funnel2
> +  <file details> nr_links
> +  <file details> out:0 -> ../../../20010000.etf/tmc_etf0
> +
> +Finding the first sink ``tmc_etf0``. This can be used to collect data
> +as a sink, or as a link to propagate further along the chain::
> +
> +  linaro-developer:~# ls -l /sys/bus/coresight/devices/tmc_etf0/connections
> +  <file details> cti_sys0 -> ../../../20020000.cti/cti_sys0
> +  <file details> in:0 -> ../../../20040000.funnel/funnel0
> +  <file details> nr_links
> +  <file details> out:0 -> ../../../20150000.funnel/funnel4
> +
> +via ``funnel4``::
> +
> +  linaro-developer:~# ls -l /sys/bus/coresight/devices/funnel4/connections
> +  <file details> in:0 -> ../../../20010000.etf/tmc_etf0
> +  <file details> in:1 -> ../../../20140000.etf/tmc_etf1
> +  <file details> nr_links
> +  <file details> out:0 -> ../../../20120000.replicator/replicator0
> +
> +and a ``replicator0``::
> +
> +  linaro-developer:~# ls -l /sys/bus/coresight/devices/replicator0/connections
> +  <file details> in:0 -> ../../../20150000.funnel/funnel4
> +  <file details> nr_links
> +  <file details> out:0 -> ../../../20030000.tpiu/tpiu0
> +  <file details> out:1 -> ../../../20070000.etr/tmc_etr0
> +
> +Arriving at the final sink in the chain, ``tmc_etr0``::
> +
> +  linaro-developer:~# ls -l /sys/bus/coresight/devices/tmc_etr0/connections
> +  <file details> cti_sys0 -> ../../../20020000.cti/cti_sys0
> +  <file details> in:0 -> ../../../20120000.replicator/replicator0
> +  <file details> nr_links
> +
> +As described below, when using sysfs it is sufficient to enable a sink and
> +a source for successful trace. The framework will correctly enable all
> +intermediate links as required.
> +
> +Note: ``cti_sys0`` appears in two of the connections lists above.
> +CTIs can connect to multiple devices and are arranged in a star topology
> +via the CTM. See (:doc:`coresight-ect`) [#fourth]_ for further details.
> +Looking at this device we see 4 connections::
> +
> +  linaro-developer:~# ls -l /sys/bus/coresight/devices/cti_sys0/connections
> +  <file details> nr_links
> +  <file details> stm0 -> ../../../20100000.stm/stm0
> +  <file details> tmc_etf0 -> ../../../20010000.etf/tmc_etf0
> +  <file details> tmc_etr0 -> ../../../20070000.etr/tmc_etr0
> +  <file details> tpiu0 -> ../../../20030000.tpiu/tpiu0
> +
> +
>  How to use the tracer modules
>  -----------------------------
>  
> -- 
> 2.17.1
> 

      reply	other threads:[~2020-02-14 23:10 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-11 10:58 [PATCH v4 0/6] Describe CoreSight topology using sysfs links Mike Leach
2020-02-11 10:58 ` [PATCH v4 1/6] coresight: Pass coresight_device for coresight_release_platform_data Mike Leach
2020-02-11 10:58 ` [PATCH v4 2/6] coresight: add return value for fixup connections Mike Leach
2020-02-11 10:58 ` [PATCH v4 3/6] coresight: Add generic sysfs link creation functions Mike Leach
2020-02-14 23:17   ` Mathieu Poirier
2020-02-25 15:46     ` Mike Leach
2020-02-25 17:07       ` Mathieu Poirier
2020-02-11 10:58 ` [PATCH v4 4/6] coresight: Expose device connections via sysfs Mike Leach
2020-02-14 22:31   ` Mathieu Poirier
2020-02-26 14:32     ` Mike Leach
2020-02-26 21:23       ` Mathieu Poirier
2020-02-11 10:58 ` [PATCH v4 5/6] coresight: cti: Add in sysfs links to other coresight devices Mike Leach
2020-02-14 22:58   ` Mathieu Poirier
2020-02-26 13:37     ` Mike Leach
2020-02-26 21:20       ` Mathieu Poirier
2020-02-11 10:58 ` [PATCH v4 6/6] coresight: docs: Add information about the topology representations Mike Leach
2020-02-14 23:10   ` Mathieu Poirier [this message]

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=20200214231051.GC20024@xps15 \
    --to=mathieu.poirier@linaro.org \
    --cc=coresight@lists.linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=mike.leach@linaro.org \
    --cc=suzuki.poulose@arm.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;
as well as URLs for NNTP newsgroup(s).