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