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

Frank Li posted 3 patches 11 months, 1 week ago
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
[PATCH v6 0/3] dmaengine: fsl_edma: add trace and debugfs support
Posted by Frank Li 11 months, 1 week ago
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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309210500.owiirl4c-lkp@intel.com/

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
Re: [PATCH v6 0/3] dmaengine: fsl_edma: add trace and debugfs support
Posted by Frank Li 10 months, 3 weeks ago
On Tue, Oct 03, 2023 at 10:52:09AM -0400, Frank Li wrote:
> Change from v5 to v6
> - Use case 0 and case sizeof(u32) instead of default

Ping. I fixed build issue. 

> 
> 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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202309210500.owiirl4c-lkp@intel.com/
> 
> 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
>