xref: /linux/include/uapi/linux/coresight-stm.h (revision cbecf716ca618fd44feda6bd9a64a8179d031fc5)
16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2237483aaSPratik Patel #ifndef __UAPI_CORESIGHT_STM_H_
3237483aaSPratik Patel #define __UAPI_CORESIGHT_STM_H_
4237483aaSPratik Patel 
59b6eaaf3SEugene Syromiatnikov #include <linux/const.h>
69b6eaaf3SEugene Syromiatnikov 
79b6eaaf3SEugene Syromiatnikov #define STM_FLAG_TIMESTAMPED   _BITUL(3)
8*4af8b3d3STingwei Zhang #define STM_FLAG_MARKED        _BITUL(4)
99b6eaaf3SEugene Syromiatnikov #define STM_FLAG_GUARANTEED    _BITUL(7)
10237483aaSPratik Patel 
11237483aaSPratik Patel /*
12237483aaSPratik Patel  * The CoreSight STM supports guaranteed and invariant timing
13237483aaSPratik Patel  * transactions.  Guaranteed transactions are guaranteed to be
14237483aaSPratik Patel  * traced, this might involve stalling the bus or system to
15237483aaSPratik Patel  * ensure the transaction is accepted by the STM.  While invariant
16237483aaSPratik Patel  * timing transactions are not guaranteed to be traced, they
17237483aaSPratik Patel  * will take an invariant amount of time regardless of the
18237483aaSPratik Patel  * state of the STM.
19237483aaSPratik Patel  */
20237483aaSPratik Patel enum {
21237483aaSPratik Patel 	STM_OPTION_GUARANTEED = 0,
22237483aaSPratik Patel 	STM_OPTION_INVARIANT,
23237483aaSPratik Patel };
24237483aaSPratik Patel 
25237483aaSPratik Patel #endif
26