Merge tag 'char-misc-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH: "Here is the large set of char/misc driver patches for 5.8-rc1 Included in here are: - habanalabs driver updates, loads - mhi bus driver updates - extcon driver updates - clk driver updates (approved by the clock maintainer) - firmware driver updates - fpga driver updates - gnss driver updates - coresight driver updates - interconnect driver updates - parport driver updates (it's still alive!) - nvmem driver updates - soundwire driver updates - visorbus driver updates - w1 driver updates - various misc driver updates In short, loads of different driver subsystem updates along with the drivers as well. All have been in linux-next for a while with no reported issues" * tag 'char-misc-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (233 commits) habanalabs: correctly cast u64 to void* habanalabs: initialize variable to default value extcon: arizona: Fix runtime PM imbalance on error extcon: max14577: Add proper dt-compatible strings extcon: adc-jack: Fix an error handling path in 'adc_jack_probe()' extcon: remove redundant assignment to variable idx w1: omap-hdq: print dev_err if irq flags are not cleared w1: omap-hdq: fix interrupt handling which did show spurious timeouts w1: omap-hdq: fix return value to be -1 if there is a timeout w1: omap-hdq: cleanup to add missing newline for some dev_dbg /dev/mem: Revoke mappings when a driver claims the region misc: xilinx-sdfec: convert get_user_pages() --> pin_user_pages() misc: xilinx-sdfec: cleanup return value in xsdfec_table_write() misc: xilinx-sdfec: improve get_user_pages_fast() error handling nvmem: qfprom: remove incorrect write support habanalabs: handle MMU cache invalidation timeout habanalabs: don't allow hard reset with open processes habanalabs: GAUDI does not support soft-reset habanalabs: add print for soft reset due to event habanalabs: improve MMU cache invalidation code ...
This commit is contained in:
@@ -73,7 +73,7 @@ capable of generating or using trigger signals.::
|
||||
|
||||
>$ ls /sys/bus/coresight/devices/etm0/cti_cpu0
|
||||
channels ctmid enable nr_trigger_cons mgmt power powered regs
|
||||
subsystem triggers0 triggers1 uevent
|
||||
connections subsystem triggers0 triggers1 uevent
|
||||
|
||||
*Key file items are:-*
|
||||
* ``enable``: enables/disables the CTI. Read to determine current state.
|
||||
@@ -89,6 +89,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
|
||||
|
@@ -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
|
||||
-----------------------------
|
||||
|
||||
|
Reference in New Issue
Block a user