aboutsummaryrefslogtreecommitdiffstats
path: root/lib/trace_readwrite.c
blob: 88637038b30c8e211f2ef3a0a0cb8868ee93e4bf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Register read and write tracepoints
 *
 * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include <linux/ftrace.h>
#include <linux/module.h>
#include <asm-generic/io.h>

#define CREATE_TRACE_POINTS
#include <trace/events/rwmmio.h>

#ifdef CONFIG_TRACE_MMIO_ACCESS
void log_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
		    unsigned long caller_addr)
{
	trace_rwmmio_write(caller_addr, val, width, addr);
}
EXPORT_SYMBOL_GPL(log_write_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_write);

void log_post_write_mmio(u64 val, u8 width, volatile void __iomem *addr,
			 unsigned long caller_addr)
{
	trace_rwmmio_post_write(caller_addr, val, width, addr);
}
EXPORT_SYMBOL_GPL(log_post_write_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_write);

void log_read_mmio(u8 width, const volatile void __iomem *addr,
		   unsigned long caller_addr)
{
	trace_rwmmio_read(caller_addr, width, addr);
}
EXPORT_SYMBOL_GPL(log_read_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_read);

void log_post_read_mmio(u64 val, u8 width, const volatile void __iomem *addr,
			unsigned long caller_addr)
{
	trace_rwmmio_post_read(caller_addr, val, width, addr);
}
EXPORT_SYMBOL_GPL(log_post_read_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_read);
#endif /* CONFIG_TRACE_MMIO_ACCESS */
='/linux/commit/drivers/vdpa/vdpa_user/iova_domain.h?id=955abe0a1b41de5ba61fe4cd614ebc123084d499&follow=1'>vduse: avoid using __GFP_NOFAILJason Wang2-8/+12 2024-09-09mm/hugetlb: sort out global lock annotationsMateusz Guzik1-3/+3 2024-09-09mm: shmem: extend shmem_unused_huge_shrink() to all sizesHugh Dickins1-25/+20 2024-09-09mm: shmem: fix minor off-by-one in shrinkable calculationHugh Dickins1-1/+1 2024-09-09maple_tree: dump error message based on formatWei Yang1-2/+8 2024-09-09maple_tree: arange64 node is not a leaf nodeWei Yang1-5/+1 2024-09-09Docs/damon/maintainer-profile: document Google calendar for bi-weekly meetupsSeongJae Park1-2/+4 2024-09-09Docs/damon/maintainer-profile: add links in placeSeongJae Park1-40/+44 2024-09-09Docs/damon: use damonitor GitHub organization instead of awslabsSeongJae Park8-23/+23 2024-09-09Revert "mm/damon/lru_sort: adjust local variable to dynamic allocation"SeongJae Park1-11/+4 2024-09-09mm/damon/core: remove per-scheme region priority histogram bufferSeongJae Park1-1/+0 2024-09-09mm/damon/core: replace per-quota regions priority histogram buffer usage with...SeongJae Park1-3/+6 2024-09-09mm/damon/core: introduce per-context region priorities histogram bufferSeongJae Park2-0/+7 2024-09-09mm: remove putback_lru_page()Kefeng Wang2-6/+0 2024-09-09mm: remove isolate_lru_page()Kefeng Wang9-33/+25 2024-09-09mm: migrate_device: use more folio in migrate_device_finalize()Kefeng Wang1-19/+22 2024-09-09mm: migrate_device: use more folio in migrate_device_unmap()Kefeng Wang1-10/+10 2024-09-09mm: migrate_device: use a folio in migrate_device_range()Kefeng Wang1-4/+5 2024-09-09mm: migrate_device: convert to migrate_device_coherent_folio()Kefeng Wang3-17/+17 2024-09-09swap: convert swapon() to use a folioMatthew Wilcox (Oracle)1-9/+7 2024-09-09mm: count the number of partially mapped anonymous THPs per sizeBarry Song3-0/+14 2024-09-09mm: count the number of anonymous THPs per sizeBarry Song6-6/+37 2024-09-09mm: tidy up shmem mTHP controls and statsRyan Roberts1-28/+112 2024-09-09mm: cleanup count_mthp_stat() definitionRyan Roberts3-43/+35 2024-09-03mm: memory_hotplug: unify Huge/LRU/non-LRU movable folio isolationKefeng Wang1-28/+15 2024-09-03mm: migrate: add isolate_folio_to_list()Kefeng Wang3-35/+42 2024-09-03mm: memory_hotplug: check hwpoisoned page firstly in do_migrate_range()Kefeng Wang1-10/+10 2024-09-03mm: memory-failure: add unmap_poisoned_folio()Kefeng Wang2-17/+35 2024-09-03mm: memory_hotplug: remove head variable in do_migrate_range()Kefeng Wang1-8/+14