Merge tag 'nfs-for-5.0-3' of git://git.linux-nfs.org/projects/anna/linux-nfs
[sfrench/cifs-2.6.git] / drivers / vfio / pci / trace.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * VFIO PCI mmap/mmap_fault tracepoints
4  *
5  * Copyright (C) 2018 IBM Corp.  All rights reserved.
6  *     Author: Alexey Kardashevskiy <aik@ozlabs.ru>
7  */
8
9 #undef TRACE_SYSTEM
10 #define TRACE_SYSTEM vfio_pci
11
12 #if !defined(_TRACE_VFIO_PCI_H) || defined(TRACE_HEADER_MULTI_READ)
13 #define _TRACE_VFIO_PCI_H
14
15 #include <linux/tracepoint.h>
16
17 TRACE_EVENT(vfio_pci_nvgpu_mmap_fault,
18         TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
19                         vm_fault_t ret),
20         TP_ARGS(pdev, hpa, ua, ret),
21
22         TP_STRUCT__entry(
23                 __field(const char *, name)
24                 __field(unsigned long, hpa)
25                 __field(unsigned long, ua)
26                 __field(int, ret)
27         ),
28
29         TP_fast_assign(
30                 __entry->name = dev_name(&pdev->dev),
31                 __entry->hpa = hpa;
32                 __entry->ua = ua;
33                 __entry->ret = ret;
34         ),
35
36         TP_printk("%s: %lx -> %lx ret=%d", __entry->name, __entry->hpa,
37                         __entry->ua, __entry->ret)
38 );
39
40 TRACE_EVENT(vfio_pci_nvgpu_mmap,
41         TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
42                         unsigned long size, int ret),
43         TP_ARGS(pdev, hpa, ua, size, ret),
44
45         TP_STRUCT__entry(
46                 __field(const char *, name)
47                 __field(unsigned long, hpa)
48                 __field(unsigned long, ua)
49                 __field(unsigned long, size)
50                 __field(int, ret)
51         ),
52
53         TP_fast_assign(
54                 __entry->name = dev_name(&pdev->dev),
55                 __entry->hpa = hpa;
56                 __entry->ua = ua;
57                 __entry->size = size;
58                 __entry->ret = ret;
59         ),
60
61         TP_printk("%s: %lx -> %lx size=%lx ret=%d", __entry->name, __entry->hpa,
62                         __entry->ua, __entry->size, __entry->ret)
63 );
64
65 TRACE_EVENT(vfio_pci_npu2_mmap,
66         TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
67                         unsigned long size, int ret),
68         TP_ARGS(pdev, hpa, ua, size, ret),
69
70         TP_STRUCT__entry(
71                 __field(const char *, name)
72                 __field(unsigned long, hpa)
73                 __field(unsigned long, ua)
74                 __field(unsigned long, size)
75                 __field(int, ret)
76         ),
77
78         TP_fast_assign(
79                 __entry->name = dev_name(&pdev->dev),
80                 __entry->hpa = hpa;
81                 __entry->ua = ua;
82                 __entry->size = size;
83                 __entry->ret = ret;
84         ),
85
86         TP_printk("%s: %lx -> %lx size=%lx ret=%d", __entry->name, __entry->hpa,
87                         __entry->ua, __entry->size, __entry->ret)
88 );
89
90 #endif /* _TRACE_VFIO_PCI_H */
91
92 #undef TRACE_INCLUDE_PATH
93 #define TRACE_INCLUDE_PATH ../../drivers/vfio/pci
94 #undef TRACE_INCLUDE_FILE
95 #define TRACE_INCLUDE_FILE trace
96
97 /* This part must be outside protection */
98 #include <trace/define_trace.h>