mbox series

[v2,0/2] dmaengine: Cleanups for symlink handling and debugfs support

Message ID 20200131093859.3311-1-peter.ujfalusi@ti.com (mailing list archive)
Headers show
Series dmaengine: Cleanups for symlink handling and debugfs support | expand

Message

Peter Ujfalusi Jan. 31, 2020, 9:38 a.m. UTC
Hi,

Changes since v1:
- Removed dev_warn() for kasprintf in both patch
- Added Reviewed-by from Geert to the first patch
- Use much more simplified fops for the debugfs file (via DEFINE_SHOW_ATTRIBUTE)
- do not allow modification to dma_device_list while the debugfs file is read
- rename the slave_name to dbg_client_name (it is only for debugging)
- print information about dma_router if it is used by the channel
- Formating of the output slightly changed

As I have mentioned on the symlink patch earlier I like how the gpio's debugfs
shows in one place information.

These patches are on top of Vinod's next (with the v2 fix for the symlink
support).

The first patch fixes and cleans up the symlink handling code a bit and the
second adds support for debugfs file:

On my board with audio and after a run with dmatest on 6 channels this is how
the information is presented about the DMA drivers:

# cat /sys/kernel/debug/dmaengine 
dma0 (285c0000.dma-controller): number of channels: 96

dma1 (31150000.dma-controller): number of channels: 267
 dma1chan0   | 2b00000.mcasp:tx
 dma1chan1   | 2b00000.mcasp:rx
 dma1chan2   | in-use
 dma1chan3   | in-use
 dma1chan4   | in-use
 dma1chan5   | in-use
 dma1chan6   | in-use
 dma1chan7   | in-use

On dra7-evm after boot:
# cat /sys/kernel/debug/dmaengine 
dma0 (43300000.edma): number of channels: 64
 dma0chan0   | 48468000.mcasp:tx (via router: 4a002c78.dma-router)
 dma0chan1   | 48468000.mcasp:rx (via router: 4a002c78.dma-router)

dma1 (4a056000.dma-controller): number of channels: 127
 dma1chan0   | in-use
 dma1chan1   | in-use

It shows the users (device name + channel name) of the channels. If it is not a
slave channel, then it only prints 'in-use' as no other information is
available for non save channels.

DMA drivers can implement the dbg_show callback to provide custom information
for their channels if needed.

Regards,
Peter
---
Peter Ujfalusi (2):
  dmaengine: Cleanups for the slave <-> channel symlink support
  dmaengine: Add basic debugfs support

 drivers/dma/dmaengine.c   | 84 ++++++++++++++++++++++++++++++++++-----
 include/linux/dmaengine.h | 12 +++++-
 2 files changed, 86 insertions(+), 10 deletions(-)