xref: /openbmc/linux/drivers/hwtracing/intel_th/sth.h (revision c13aca79ff3c4af5fd31a5b2743a90eba6e36a26)
1*50352fa7SAlexander Shishkin /* SPDX-License-Identifier: GPL-2.0 */
2f04e449fSAlexander Shishkin /*
3f04e449fSAlexander Shishkin  * Intel(R) Trace Hub Software Trace Hub (STH) data structures
4f04e449fSAlexander Shishkin  *
5f04e449fSAlexander Shishkin  * Copyright (C) 2014-2015 Intel Corporation.
6f04e449fSAlexander Shishkin  */
7f04e449fSAlexander Shishkin 
8f04e449fSAlexander Shishkin #ifndef __INTEL_TH_STH_H__
9f04e449fSAlexander Shishkin #define __INTEL_TH_STH_H__
10f04e449fSAlexander Shishkin 
11f04e449fSAlexander Shishkin enum {
12f04e449fSAlexander Shishkin 	REG_STH_STHCAP0		= 0x0000, /* capabilities pt1 */
13f04e449fSAlexander Shishkin 	REG_STH_STHCAP1		= 0x0004, /* capabilities pt2 */
14f04e449fSAlexander Shishkin 	REG_STH_TRIG		= 0x0008, /* TRIG packet payload */
15f04e449fSAlexander Shishkin 	REG_STH_TRIG_TS		= 0x000c, /* TRIG_TS packet payload */
16f04e449fSAlexander Shishkin 	REG_STH_XSYNC		= 0x0010, /* XSYNC packet payload */
17f04e449fSAlexander Shishkin 	REG_STH_XSYNC_TS	= 0x0014, /* XSYNC_TS packet payload */
18f04e449fSAlexander Shishkin 	REG_STH_GERR		= 0x0018, /* GERR packet payload */
19f04e449fSAlexander Shishkin };
20f04e449fSAlexander Shishkin 
21f04e449fSAlexander Shishkin struct intel_th_channel {
22f04e449fSAlexander Shishkin 	u64	Dn;
23f04e449fSAlexander Shishkin 	u64	DnM;
24f04e449fSAlexander Shishkin 	u64	DnTS;
25f04e449fSAlexander Shishkin 	u64	DnMTS;
26f04e449fSAlexander Shishkin 	u64	USER;
27f04e449fSAlexander Shishkin 	u64	USER_TS;
28f04e449fSAlexander Shishkin 	u32	FLAG;
29f04e449fSAlexander Shishkin 	u32	FLAG_TS;
30f04e449fSAlexander Shishkin 	u32	MERR;
31f04e449fSAlexander Shishkin 	u32	__unused;
32f04e449fSAlexander Shishkin } __packed;
33f04e449fSAlexander Shishkin 
34f04e449fSAlexander Shishkin #endif /* __INTEL_TH_STH_H__ */
35