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
>
WARNING: multiple messages have this Message-ID (diff)
From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Mike Leach <mike.leach@linaro.org>
Cc: coresight@lists.linaro.org, suzuki.poulose@arm.com,
linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org
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
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-02-14 23:10 UTC|newest]
Thread overview: 34+ 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 ` 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 ` 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 ` Mike Leach
2020-02-11 10:58 ` [PATCH v4 3/6] coresight: Add generic sysfs link creation functions Mike Leach
2020-02-11 10:58 ` Mike Leach
2020-02-14 23:17 ` Mathieu Poirier
2020-02-14 23:17 ` Mathieu Poirier
2020-02-25 15:46 ` Mike Leach
2020-02-25 15:46 ` Mike Leach
2020-02-25 17:07 ` Mathieu Poirier
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-11 10:58 ` Mike Leach
2020-02-14 22:31 ` Mathieu Poirier
2020-02-14 22:31 ` Mathieu Poirier
2020-02-26 14:32 ` Mike Leach
2020-02-26 14:32 ` Mike Leach
2020-02-26 21:23 ` Mathieu Poirier
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-11 10:58 ` Mike Leach
2020-02-14 22:58 ` Mathieu Poirier
2020-02-14 22:58 ` Mathieu Poirier
2020-02-26 13:37 ` Mike Leach
2020-02-26 13:37 ` Mike Leach
2020-02-26 21:20 ` Mathieu Poirier
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-11 10:58 ` Mike Leach
2020-02-14 23:10 ` Mathieu Poirier [this message]
2020-02-14 23:10 ` Mathieu Poirier
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 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.