1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Copyright (c) 2015-2016, Intel Corporation. All rights reserved.
4 * Intel Management Engine Interface (Intel MEI) Linux driver
5 */
6
7#if !defined(_MEI_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
8#define _MEI_TRACE_H_
9
10#include <linux/stringify.h>
11#include <linux/types.h>
12#include <linux/tracepoint.h>
13
14#include <linux/device.h>
15
16#undef TRACE_SYSTEM
17#define TRACE_SYSTEM mei
18
19TRACE_EVENT(mei_reg_read,
20 TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val),
21 TP_ARGS(dev, reg, offs, val),
22 TP_STRUCT__entry(
23 __string(dev, dev_name(dev))
24 __field(const char *, reg)
25 __field(u32, offs)
26 __field(u32, val)
27 ),
28 TP_fast_assign(
29 __assign_str(dev, dev_name(dev));
30 __entry->reg = reg;
31 __entry->offs = offs;
32 __entry->val = val;
33 ),
34 TP_printk("[%s] read %s:[%#x] = %#x",
35 __get_str(dev), __entry->reg, __entry->offs, __entry->val)
36);
37
38TRACE_EVENT(mei_reg_write,
39 TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val),
40 TP_ARGS(dev, reg, offs, val),
41 TP_STRUCT__entry(
42 __string(dev, dev_name(dev))
43 __field(const char *, reg)
44 __field(u32, offs)
45 __field(u32, val)
46 ),
47 TP_fast_assign(
48 __assign_str(dev, dev_name(dev));
49 __entry->reg = reg;
50 __entry->offs = offs;
51 __entry->val = val;
52 ),
53 TP_printk("[%s] write %s[%#x] = %#x",
54 __get_str(dev), __entry->reg, __entry->offs, __entry->val)
55);
56
57TRACE_EVENT(mei_pci_cfg_read,
58 TP_PROTO(const struct device *dev, const char *reg, u32 offs, u32 val),
59 TP_ARGS(dev, reg, offs, val),
60 TP_STRUCT__entry(
61 __string(dev, dev_name(dev))
62 __field(const char *, reg)
63 __field(u32, offs)
64 __field(u32, val)
65 ),
66 TP_fast_assign(
67 __assign_str(dev, dev_name(dev));
68 __entry->reg = reg;
69 __entry->offs = offs;
70 __entry->val = val;
71 ),
72 TP_printk("[%s] pci cfg read %s:[%#x] = %#x",
73 __get_str(dev), __entry->reg, __entry->offs, __entry->val)
74);
75
76#endif /* _MEI_TRACE_H_ */
77
78/* This part must be outside protection */
79#undef TRACE_INCLUDE_PATH
80#undef TRACE_INCLUDE_FILE
81#define TRACE_INCLUDE_PATH .
82#define TRACE_INCLUDE_FILE mei-trace
83#include <trace/define_trace.h>
84

source code of linux/drivers/misc/mei/mei-trace.h