xref: /linux/drivers/hwtracing/intel_th/sth.h (revision f3a8b6645dc2e60d11f20c1c23afd964ff4e55ae)
1 /*
2  * Intel(R) Trace Hub Software Trace Hub (STH) data structures
3  *
4  * Copyright (C) 2014-2015 Intel Corporation.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  */
15 
16 #ifndef __INTEL_TH_STH_H__
17 #define __INTEL_TH_STH_H__
18 
19 enum {
20 	REG_STH_STHCAP0		= 0x0000, /* capabilities pt1 */
21 	REG_STH_STHCAP1		= 0x0004, /* capabilities pt2 */
22 	REG_STH_TRIG		= 0x0008, /* TRIG packet payload */
23 	REG_STH_TRIG_TS		= 0x000c, /* TRIG_TS packet payload */
24 	REG_STH_XSYNC		= 0x0010, /* XSYNC packet payload */
25 	REG_STH_XSYNC_TS	= 0x0014, /* XSYNC_TS packet payload */
26 	REG_STH_GERR		= 0x0018, /* GERR packet payload */
27 };
28 
29 struct intel_th_channel {
30 	u64	Dn;
31 	u64	DnM;
32 	u64	DnTS;
33 	u64	DnMTS;
34 	u64	USER;
35 	u64	USER_TS;
36 	u32	FLAG;
37 	u32	FLAG_TS;
38 	u32	MERR;
39 	u32	__unused;
40 } __packed;
41 
42 #endif /* __INTEL_TH_STH_H__ */
43