summaryrefslogtreecommitdiff
path: root/lib/trace_readwrite.c
blob: 62b4e8b3c733b5240eff77fcc1f392e17c235960 (plain)
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, unsigned long caller_addr0)
{
	trace_rwmmio_write(caller_addr, caller_addr0, 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, unsigned long caller_addr0)
{
	trace_rwmmio_post_write(caller_addr, caller_addr0, 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, unsigned long caller_addr0)
{
	trace_rwmmio_read(caller_addr, caller_addr0, 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, unsigned long caller_addr0)
{
	trace_rwmmio_post_read(caller_addr, caller_addr0, val, width, addr);
}
EXPORT_SYMBOL_GPL(log_post_read_mmio);
EXPORT_TRACEPOINT_SYMBOL_GPL(rwmmio_post_read);
#endif /* CONFIG_TRACE_MMIO_ACCESS */
6244d05af4'>md/raid6: implement recovery using ARM NEON intrinsicsArd Biesheuvel 2017-05-16lib/raid6: Add log-of-2 table for RAID6 HW requiring disk positionAnup Patel 2016-10-07Merge tag 'md/4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/mdLinus Torvalds 2016-09-21lib/raid6: Add AVX512 optimized recovery functionsGayatri Kammela 2016-09-21lib/raid6: Add AVX512 optimized gen_syndrome functionsGayatri Kammela 2016-09-01RAID/s390: provide raid6 recovery optimizationMartin Schwidefsky 2016-08-29RAID/s390: add SIMD implementation for raid6 gen/xorMartin Schwidefsky 2016-01-21raid6/algos.c : bug fix : Add the missing definitions to the pq.h fileGayatri Kammela 2015-04-22md/raid6 algorithms: delta syndrome functionsMarkus Stockhausen 2013-09-10Merge tag 'md/3.12' of git://neil.brown.name/mdLinus Torvalds 2013-08-27RAID: add tilegx SIMD implementation of raid6Ken Steele 2013-07-08lib/raid6: add ARM-NEON accelerated syndrome calculationArd Biesheuvel 2013-01-02UAPI: Remove empty Kbuild filesDavid Howells 2012-12-13lib/raid6: Add AVX2 optimized gen_syndrome functionsYuanhan Liu 2012-12-13lib/raid6: Add AVX2 optimized recovery functionsJim Kukunas 2012-10-09UAPI: (Scripted) Disintegrate include/linux/raidDavid Howells 2012-05-22lib/raid6: Add SSSE3 optimized recovery functionsJim Kukunas 2012-05-21md: add possibility to change data-offset for devices.NeilBrown 2012-05-21md: allow a reshape operation to be reversed.NeilBrown 2012-03-13md: Use existed macros instead of numbersmajianpeng 2011-12-23md: create externally visible flags for supporting hot-replace.NeilBrown 2011-12-23md: Fix userspace free_pages() macroSteven Rostedt 2011-07-28md: load/store badblock list from v1.x metadataNeilBrown 2011-03-31Fix common misspellingsLucas De Marchi 2010-08-12Make lib/raid6/test build correctly.NeilBrown 2009-12-14md: remove sparse warning:symbol XXX was not declared.NeilBrown