[PATCH v6 0/3] dmaengine: fsl_edma: add trace and debugfs support

From: Frank Li
Date: Tue Oct 03 2023 - 10:54:37 EST


Change from v5 to v6
- Use case 0 and case sizeof(u32) instead of default

Change from v4 to v5
- There are still some discussion about 64bit register access.
Drop 64 register support and use sperate patch to enable 64bit register
support in future.

Change from v3 to v4
- Fix build warning

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309210500.owiirl4c-lkp@xxxxxxxxx/

Change from v2 to v3
- Fixed sparse build warning
- improve debugfs_create_regset32 and use debugfs_create_regset() to dump
all registers

Change from v1 to v2
- Fixed tcd trace issue, data need be saved firstly.

=== Trace ===

echo 1 >/sys/kernel/debug/tracing/tracing_on
echo 1 >/sys/kernel/debug/tracing/events/fsl_edma/enable

Run any dma test
...

cat /sys/kernel/debug/tracing/trace

uart_testapp_11-448 [000] d..1. 69.185019: edma_fill_tcd:
==== TCD =====
saddr: 0x831ee020
soff: 0x8000
attr: 0xffff
nbytes: 0xfba40000
slast: 0x00000000
daddr: 0x8aaa4800
doff: 0x0001
citer: 0x0800
dlast: 0xfba40020
csr: 0x0052
biter: 0x0800

uart_testapp_11-448 [000] d..2. 69.185022: edma_writew: offset 0001803c: value 00000000
uart_testapp_11-448 [000] d..2. 69.185023: edma_writel: offset 00018020: value 4259001c
uart_testapp_11-448 [000] d..2. 69.185024: edma_writel: offset 00018030: value 8aaa4000

=== DebugFS ===

cat /sys/kernel/debug/dmaengine/42000000.dma-controller/42000000.dma-controller-CH00/ch_sbr
0x00208003

Frank Li (3):
debugfs_create_regset32() support 8/16 bit width registers
dmaengine: fsl-emda: add debugfs support
dmaengine: fsl-edma: add trace event support

drivers/dma/Makefile | 7 +-
drivers/dma/fsl-edma-common.c | 2 +
drivers/dma/fsl-edma-common.h | 37 +++++-
drivers/dma/fsl-edma-debugfs.c | 200 +++++++++++++++++++++++++++++++++
drivers/dma/fsl-edma-main.c | 2 +
drivers/dma/fsl-edma-trace.c | 4 +
drivers/dma/fsl-edma-trace.h | 134 ++++++++++++++++++++++
fs/debugfs/file.c | 54 ++++++---
include/linux/debugfs.h | 17 ++-
9 files changed, 429 insertions(+), 28 deletions(-)
create mode 100644 drivers/dma/fsl-edma-debugfs.c
create mode 100644 drivers/dma/fsl-edma-trace.c
create mode 100644 drivers/dma/fsl-edma-trace.h

--
2.34.1