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/64 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 | 59 +++++++--- include/linux/debugfs.h | 17 ++- 9 files changed, 434 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