Commit bd566189 authored by Alexander Shishkin's avatar Alexander Shishkin

stm class: Document the stm_source interface

This patch adds a description of the stm_source device class, an
interface for the kernel code to send traces over STM devices.

Cc: linux-api@vger.kernel.org
Cc: Chunyan Zhang <zhang.chunyan@linaro.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
parent a0ebf519
...@@ -69,12 +69,33 @@ stm device's channel mmio region is 64 bytes and hardware page size is ...@@ -69,12 +69,33 @@ stm device's channel mmio region is 64 bytes and hardware page size is
width==64, you should be able to mmap() one page on this file width==64, you should be able to mmap() one page on this file
descriptor and obtain direct access to an mmio region for 64 channels. descriptor and obtain direct access to an mmio region for 64 channels.
Examples of STM devices are Intel(R) Trace Hub [1] and Coresight STM
[2].
stm_source
==========
For kernel-based trace sources, there is "stm_source" device For kernel-based trace sources, there is "stm_source" device
class. Devices of this class can be connected and disconnected to/from class. Devices of this class can be connected and disconnected to/from
stm devices at runtime via a sysfs attribute. stm devices at runtime via a sysfs attribute called "stm_source_link"
by writing the name of the desired stm device there, for example:
Examples of STM devices are Intel(R) Trace Hub [1] and Coresight STM $ echo dummy_stm.0 > /sys/class/stm_source/console/stm_source_link
[2].
For examples on how to use stm_source interface in the kernel, refer
to stm_console or stm_heartbeat drivers.
stm_console
===========
One implementation of this interface also used in the example above is
the "stm_console" driver, which basically provides a one-way console
for kernel messages over an stm device.
To configure the master/channel pair that will be assigned to this
console in the STP stream, create a "console" policy entry (see the
beginning of this text on how to do that). When initialized, it will
consume one channel.
[1] https://software.intel.com/sites/default/files/managed/d3/3c/intel-th-developer-manual.pdf [1] https://software.intel.com/sites/default/files/managed/d3/3c/intel-th-developer-manual.pdf
[2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0444b/index.html [2] http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0444b/index.html
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment