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, | |
5e5ff73c | 17 | unsigned long caller_addr, unsigned long caller_addr0) |
d593d64f | 18 | { |
5e5ff73c | 19 | trace_rwmmio_write(caller_addr, caller_addr0, val, width, addr); |
d593d64f PS |
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, | |
5e5ff73c | 25 | unsigned long caller_addr, unsigned long caller_addr0) |
d593d64f | 26 | { |
5e5ff73c | 27 | trace_rwmmio_post_write(caller_addr, caller_addr0, val, width, addr); |
d593d64f PS |
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, | |
5e5ff73c | 33 | unsigned long caller_addr, unsigned long caller_addr0) |
d593d64f | 34 | { |
5e5ff73c | 35 | trace_rwmmio_read(caller_addr, caller_addr0, width, addr); |
d593d64f PS |
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, | |
5e5ff73c | 41 | unsigned long caller_addr, unsigned long caller_addr0) |
d593d64f | 42 | { |
5e5ff73c | 43 | trace_rwmmio_post_read(caller_addr, caller_addr0, val, width, addr); |
d593d64f PS |
44 | } |
45 | EXPORT_SYMBOL_GPL(log_post_read_mmio); | |
46 | EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_read); | |
47 | #endif /* CONFIG_TRACE_MMIO_ACCESS */ |