linux/drivers/hwtracing/stm
Mikhail Lappo 3c72059290 stm class: sys-t: Improve ftrace source handling
Package messages from ftrace source with SyS-T Structured Binary Data
(later SBD) header and 64-bit ID. This provides modification-free
compatibility between ftrace and SyS-T arguments structure by applying
0xFFFF mask on message ID.

This happens due to the fact that SBD and ftrace structures have the
same principle of data storage: <header><args binary blob>.

The headers are bit-to-bit compatible and both contain event/catalog ID
with the exception, that ftrace header contains more fields within 64
bits which needs to be masked during encoding process, since SBD
standard doesn't support mask of ID field.

        0       15  16   23  24     31  32   39  40  63
ftrace: <event_id>  <flags>  <preempt>  <-pid->  <---->
SBD:    <------- msg_id ------------------------------>

Signed-off-by: Mikhail Lappo <miklelappo@gmail.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240429130119.1518073-5-alexander.shishkin@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-05-04 18:57:21 +02:00
..
console.c stm class: Add source type 2024-05-04 18:57:21 +02:00
core.c stm class: Propagate source type to protocols 2024-05-04 18:57:21 +02:00
dummy_stm.c stm class: Make dummy's master/channel ranges configurable 2018-03-28 18:47:18 +03:00
ftrace.c stm class: Add source type 2024-05-04 18:57:21 +02:00
heartbeat.c stm class: Add source type 2024-05-04 18:57:21 +02:00
Kconfig drivers/hwtracing/stm: Remove "select SRCU" 2023-02-02 16:26:05 -08:00
Makefile stm class: Add MIPI SyS-T protocol support 2018-10-11 12:12:54 +02:00
p_basic.c stm class: Propagate source type to protocols 2024-05-04 18:57:21 +02:00
p_sys-t.c stm class: sys-t: Improve ftrace source handling 2024-05-04 18:57:21 +02:00
policy.c stm class: Remove an unused function 2021-04-16 07:26:50 +02:00
stm.h stm class: Propagate source type to protocols 2024-05-04 18:57:21 +02:00