mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-28 16:53:49 +00:00
stm class: Document the MIPI SyS-T protocol usage
Add a document describing MIPI SyS-T protocol driver usage. Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com> Tested-by: Mathieu Poirier <mathieu.poirier@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
95323943b7
commit
4cb3653df0
62
Documentation/trace/sys-t.rst
Normal file
62
Documentation/trace/sys-t.rst
Normal file
@ -0,0 +1,62 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
===================
|
||||
MIPI SyS-T over STP
|
||||
===================
|
||||
|
||||
The MIPI SyS-T protocol driver can be used with STM class devices to
|
||||
generate standardized trace stream. Aside from being a standard, it
|
||||
provides better trace source identification and timestamp correlation.
|
||||
|
||||
In order to use the MIPI SyS-T protocol driver with your STM device,
|
||||
first, you'll need CONFIG_STM_PROTO_SYS_T.
|
||||
|
||||
Now, you can select which protocol driver you want to use when you create
|
||||
a policy for your STM device, by specifying it in the policy name:
|
||||
|
||||
# mkdir /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/
|
||||
|
||||
In other words, the policy name format is extended like this:
|
||||
|
||||
<device_name>:<protocol_name>.<policy_name>
|
||||
|
||||
With Intel TH, therefore it can look like "0-sth:p_sys-t.my-policy".
|
||||
|
||||
If the protocol name is omitted, the STM class will chose whichever
|
||||
protocol driver was loaded first.
|
||||
|
||||
You can also double check that everything is working as expected by
|
||||
|
||||
# cat /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/protocol
|
||||
p_sys-t
|
||||
|
||||
Now, with the MIPI SyS-T protocol driver, each policy node in the
|
||||
configfs gets a few additional attributes, which determine per-source
|
||||
parameters specific to the protocol:
|
||||
|
||||
# mkdir /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/default
|
||||
# ls /config/stp-policy/dummy_stm.0:p_sys-t.my-policy/default
|
||||
channels
|
||||
clocksync_interval
|
||||
do_len
|
||||
masters
|
||||
ts_interval
|
||||
uuid
|
||||
|
||||
The most important one here is the "uuid", which determines the UUID
|
||||
that will be used to tag all data coming from this source. It is
|
||||
automatically generated when a new node is created, but it is likely
|
||||
that you would want to change it.
|
||||
|
||||
do_len switches on/off the additional "payload length" field in the
|
||||
MIPI SyS-T message header. It is off by default as the STP already
|
||||
marks message boundaries.
|
||||
|
||||
ts_interval and clocksync_interval determine how much time in milliseconds
|
||||
can pass before we need to include a protocol (not transport, aka STP)
|
||||
timestamp in a message header or send a CLOCKSYNC packet, respectively.
|
||||
|
||||
See Documentation/ABI/testing/configfs-stp-policy-p_sys-t for more
|
||||
details.
|
||||
|
||||
* [1] https://www.mipi.org/specifications/sys-t
|
Loading…
Reference in New Issue
Block a user