summaryrefslogtreecommitdiffstats
path: root/Documentation/trace
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-13 15:11:01 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-13 15:11:01 -0500
commitb78b499a67c3f77aeb6cd0b54724bc38b141255d (patch)
tree8ebdb5303bb1552577182d9fe4086910b8648d22 /Documentation/trace
parent098c30557a9a19827240aaadc137e4668157dc6b (diff)
parent190cc65e912de7e8f7ebddcecfbf55a610281a8c (diff)
Merge tag 'char-misc-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
Pull char/misc driver updates from Greg KH: "Here's the big char/misc driver patches for 4.10-rc1. Lots of tiny changes over lots of "minor" driver subsystems, the largest being some new FPGA drivers. Other than that, a few other new drivers, but no new driver subsystems added for this kernel cycle, a nice change. All of these have been in linux-next with no reported issues" * tag 'char-misc-4.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (107 commits) uio-hv-generic: store physical addresses instead of virtual Tools: hv: kvp: configurable external scripts path uio-hv-generic: new userspace i/o driver for VMBus vmbus: add support for dynamic device id's hv: change clockevents unbind tactics hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels() hyperv: Fix spelling of HV_UNKOWN mei: bus: enable non-blocking RX mei: fix the back to back interrupt handling mei: synchronize irq before initiating a reset. VME: Remove shutdown entry from vme_driver auxdisplay: ht16k33: select framebuffer helper modules MAINTAINERS: add git url for fpga fpga: Clarify how write_init works streaming modes fpga zynq: Fix incorrect ISR state on bootup fpga zynq: Remove priv->dev fpga zynq: Add missing \n to messages fpga: Add COMPILE_TEST to all drivers uio: pruss: add clk_disable() char/pcmcia: add some error checking in scr24x_read() ...
Diffstat (limited to 'Documentation/trace')
-rw-r--r--Documentation/trace/intel_th.txt22
-rw-r--r--Documentation/trace/stm.txt37
2 files changed, 56 insertions, 3 deletions
diff --git a/Documentation/trace/intel_th.txt b/Documentation/trace/intel_th.txt
index f7fc5ba5df8d..f92070e7dde0 100644
--- a/Documentation/trace/intel_th.txt
+++ b/Documentation/trace/intel_th.txt
@@ -97,3 +97,25 @@ $ echo 0 > /sys/bus/intel_th/devices/0-msc0/active
97# and now you can collect the trace from the device node: 97# and now you can collect the trace from the device node:
98 98
99$ cat /dev/intel_th0/msc0 > my_stp_trace 99$ cat /dev/intel_th0/msc0 > my_stp_trace
100
101Host Debugger Mode
102==================
103
104It is possible to configure the Trace Hub and control its trace
105capture from a remote debug host, which should be connected via one of
106the hardware debugging interfaces, which will then be used to both
107control Intel Trace Hub and transfer its trace data to the debug host.
108
109The driver needs to be told that such an arrangement is taking place
110so that it does not touch any capture/port configuration and avoids
111conflicting with the debug host's configuration accesses. The only
112activity that the driver will perform in this mode is collecting
113software traces to the Software Trace Hub (an stm class device). The
114user is still responsible for setting up adequate master/channel
115mappings that the decoder on the receiving end would recognize.
116
117In order to enable the host mode, set the 'host_mode' parameter of the
118'intel_th' kernel module to 'y'. None of the virtual output devices
119will show up on the intel_th bus. Also, trace configuration and
120capture controlling attribute groups of the 'gth' device will not be
121exposed. The 'sth' device will operate as usual.
diff --git a/Documentation/trace/stm.txt b/Documentation/trace/stm.txt
index ea035f9dbfd7..11cff47eecce 100644
--- a/Documentation/trace/stm.txt
+++ b/Documentation/trace/stm.txt
@@ -69,12 +69,43 @@ stm device's channel mmio region is 64 bytes and hardware page size is
69width==64, you should be able to mmap() one page on this file 69width==64, you should be able to mmap() one page on this file
70descriptor and obtain direct access to an mmio region for 64 channels. 70descriptor and obtain direct access to an mmio region for 64 channels.
71 71
72Examples of STM devices are Intel(R) Trace Hub [1] and Coresight STM
73[2].
74
75stm_source
76==========
77
72For kernel-based trace sources, there is "stm_source" device 78For kernel-based trace sources, there is "stm_source" device
73class. Devices of this class can be connected and disconnected to/from 79class. Devices of this class can be connected and disconnected to/from
74stm devices at runtime via a sysfs attribute. 80stm devices at runtime via a sysfs attribute called "stm_source_link"
81by writing the name of the desired stm device there, for example:
75 82
76Examples of STM devices are Intel(R) Trace Hub [1] and Coresight STM 83$ echo dummy_stm.0 > /sys/class/stm_source/console/stm_source_link
77[2]. 84
85For examples on how to use stm_source interface in the kernel, refer
86to stm_console or stm_heartbeat drivers.
87
88Each stm_source device will need to assume a master and a range of
89channels, depending on how many channels it requires. These are
90allocated for the device according to the policy configuration. If
91there's a node in the root of the policy directory that matches the
92stm_source device's name (for example, "console"), this node will be
93used to allocate master and channel numbers. If there's no such policy
94node, the stm core will pick the first contiguous chunk of channels
95within the first available master. Note that the node must exist
96before the stm_source device is connected to its stm device.
97
98stm_console
99===========
100
101One implementation of this interface also used in the example above is
102the "stm_console" driver, which basically provides a one-way console
103for kernel messages over an stm device.
104
105To configure the master/channel pair that will be assigned to this
106console in the STP stream, create a "console" policy entry (see the
107beginning of this text on how to do that). When initialized, it will
108consume one channel.
78 109
79[1] https://software.intel.com/sites/default/files/managed/d3/3c/intel-th-developer-manual.pdf 110[1] https://software.intel.com/sites/default/files/managed/d3/3c/intel-th-developer-manual.pdf
80[2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0444b/index.html 111[2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0444b/index.html