Merge tag 'regmap-fix-v5.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / drivers / vfio / pci / trace.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
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  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  */
12
13 #undef TRACE_SYSTEM
14 #define TRACE_SYSTEM vfio_pci
15
16 #if !defined(_TRACE_VFIO_PCI_H) || defined(TRACE_HEADER_MULTI_READ)
17 #define _TRACE_VFIO_PCI_H
18
19 #include <linux/tracepoint.h>
20
21 TRACE_EVENT(vfio_pci_nvgpu_mmap_fault,
22         TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
23                         vm_fault_t ret),
24         TP_ARGS(pdev, hpa, ua, ret),
25
26         TP_STRUCT__entry(
27                 __field(const char *, name)
28                 __field(unsigned long, hpa)
29                 __field(unsigned long, ua)
30                 __field(int, ret)
31         ),
32
33         TP_fast_assign(
34                 __entry->name = dev_name(&pdev->dev),
35                 __entry->hpa = hpa;
36                 __entry->ua = ua;
37                 __entry->ret = ret;
38         ),
39
40         TP_printk("%s: %lx -> %lx ret=%d", __entry->name, __entry->hpa,
41                         __entry->ua, __entry->ret)
42 );
43
44 TRACE_EVENT(vfio_pci_nvgpu_mmap,
45         TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
46                         unsigned long size, int ret),
47         TP_ARGS(pdev, hpa, ua, size, ret),
48
49         TP_STRUCT__entry(
50                 __field(const char *, name)
51                 __field(unsigned long, hpa)
52                 __field(unsigned long, ua)
53                 __field(unsigned long, size)
54                 __field(int, ret)
55         ),
56
57         TP_fast_assign(
58                 __entry->name = dev_name(&pdev->dev),
59                 __entry->hpa = hpa;
60                 __entry->ua = ua;
61                 __entry->size = size;
62                 __entry->ret = ret;
63         ),
64
65         TP_printk("%s: %lx -> %lx size=%lx ret=%d", __entry->name, __entry->hpa,
66                         __entry->ua, __entry->size, __entry->ret)
67 );
68
69 TRACE_EVENT(vfio_pci_npu2_mmap,
70         TP_PROTO(struct pci_dev *pdev, unsigned long hpa, unsigned long ua,
71                         unsigned long size, int ret),
72         TP_ARGS(pdev, hpa, ua, size, ret),
73
74         TP_STRUCT__entry(
75                 __field(const char *, name)
76                 __field(unsigned long, hpa)
77                 __field(unsigned long, ua)
78                 __field(unsigned long, size)
79                 __field(int, ret)
80         ),
81
82         TP_fast_assign(
83                 __entry->name = dev_name(&pdev->dev),
84                 __entry->hpa = hpa;
85                 __entry->ua = ua;
86                 __entry->size = size;
87                 __entry->ret = ret;
88         ),
89
90         TP_printk("%s: %lx -> %lx size=%lx ret=%d", __entry->name, __entry->hpa,
91                         __entry->ua, __entry->size, __entry->ret)
92 );
93
94 #endif /* _TRACE_VFIO_PCI_H */
95
96 #undef TRACE_INCLUDE_PATH
97 #define TRACE_INCLUDE_PATH ../../drivers/vfio/pci
98 #undef TRACE_INCLUDE_FILE
99 #define TRACE_INCLUDE_FILE trace
100
101 /* This part must be outside protection */
102 #include <trace/define_trace.h>