Commit | Line | Data |
---|---|---|
d593d64f PS |
1 | // SPDX-License-Identifier: GPL-2.0-only |
2 | /* | |
3 | * Register read and write tracepoints | |
4 | * | |
5 | * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. | |
6 | */ | |
7 | ||
8 | #include <linux/ftrace.h> | |
9 | #include <linux/module.h> | |
10 | #include <asm-generic/io.h> | |
11 | ||
12 | #define CREATE_TRACE_POINTS | |
13 | #include <trace/events/rwmmio.h> | |
14 | ||
15 | #ifdef CONFIG_TRACE_MMIO_ACCESS | |
16 | void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr, | |
17 | unsigned long caller_addr) | |
18 | { | |
19 | trace_rwmmio_write(caller_addr, val, width, addr); | |
20 | } | |
21 | EXPORT_SYMBOL_GPL(log_write_mmio); | |
22 | EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_write); | |
23 | ||
24 | void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr, | |
25 | unsigned long caller_addr) | |
26 | { | |
27 | trace_rwmmio_post_write(caller_addr, val, width, addr); | |
28 | } | |
29 | EXPORT_SYMBOL_GPL(log_post_write_mmio); | |
30 | EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_write); | |
31 | ||
32 | void log_read_mmio(u8 width, const volatile void __iomem *addr, | |
33 | unsigned long caller_addr) | |
34 | { | |
35 | trace_rwmmio_read(caller_addr, width, addr); | |
36 | } | |
37 | EXPORT_SYMBOL_GPL(log_read_mmio); | |
38 | EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_read); | |
39 | ||
40 | void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr, | |
41 | unsigned long caller_addr) | |
42 | { | |
43 | trace_rwmmio_post_read(caller_addr, val, width, addr); | |
44 | } | |
45 | EXPORT_SYMBOL_GPL(log_post_read_mmio); | |
46 | EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_read); | |
47 | #endif /* CONFIG_TRACE_MMIO_ACCESS */ |