All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/3] dmaengine: dw-axi-dmac: PM cleanup and reset control support
@ 2025-10-23 20:21 Artem Shimko
  2025-10-23 20:21 ` [PATCH v5 1/3] dmaengine: dw-axi-dmac: simplify PM functions and use modern macros Artem Shimko
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Artem Shimko @ 2025-10-23 20:21 UTC (permalink / raw)
  To: Vinod Koul
  Cc: p.zabel, dan.carpenter, Eugeniy.Paltsev, a.shimko.dev,
	linux-kernel, dmaengine

Hello maintainers and reviewers,

This patch series improves the dw-axi-dmac driver in two areas:

Patch 1 simplifies the power management code by using modern kernel
macros and removing redundant wrapper functions, making the code more
maintainable and aligned with current kernel practices.

Patch 2 adds proper reset control support to ensure reliable
initialization and power management, handling resets during probe,
remove, and suspend/resume operations.

For debugging, I used dev_info from the suspend/resume functions.
Before pushing, I removed dev_info from the driver.

Suspend:
echo 0 > /sys/module/printk/parameters/console_suspend
echo mem > /sys/power/state
...
[  195.339311] dw_axi_dmac_platform 100NDA00.NDA-axi-dma: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c axi_dma_suspend
[  195.350274] dw_axi_dmac_platform 100NDA00.NDA-axi-dma: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c axi_dma_suspend
[  195.361223] dw_axi_dmac_platform 100NDA00.NDA-axi-dma: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c axi_dma_suspend
...

Resume:
...
[  200.669945] dw_axi_dmac_platform 100NDA00.NDA-axi-dma: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c axi_dma_resume
[  200.680975] dw_axi_dmac_platform 100NDA00.NDA-axi-dma: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c axi_dma_resume
[  200.692108] dw_axi_dmac_platform 100NDA00.NDA-axi-dma: drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c axi_dma_resume
...

Patch 3 resolves the following smatch warnings:
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:1237 dma_chan_pause() warn: inconsistent indenting
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c:1284 axi_chan_resume() warn: inconsistent indenting

To check the fix of the warnings:
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) C=2 \
    CHECK="../smatch/smatch -p=kernel" \
    drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.o

--
Best regards,
Artem Shimko

ChangeLog:
  v1:
    * https://lore.kernel.org/all/20251012100002.2959213-1-a.shimko.dev@gmail.com/T/#t
  v2:
    * https://lore.kernel.org/all/20251013150234.3200627-1-a.shimko.dev@gmail.com/T/#u
  v3:
    * https://lore.kernel.org/all/20251016154627.175796-1-a.shimko.dev@gmail.com/T/#t
  v4:
    * https://lore.kernel.org/all/20251017102950.206443-1-a.shimko.dev@gmail.com/T/#t
  v5:
    * Fix smatch warnings about inconsistent indentation in dma_chan_pause()
    and axi_chan_resume() functions.

Artem Shimko (3):
  dmaengine: dw-axi-dmac: simplify PM functions and use modern macros
  dmaengine: dw-axi-dmac: add reset control support
  dmaengine: dw-axi-dmac: fix inconsistent indentation in pause/resume
    functions

 .../dma/dw-axi-dmac/dw-axi-dmac-platform.c    | 90 +++++++++++--------
 drivers/dma/dw-axi-dmac/dw-axi-dmac.h         |  1 +
 2 files changed, 52 insertions(+), 39 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-10-23 20:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-23 20:21 [PATCH v5 0/3] dmaengine: dw-axi-dmac: PM cleanup and reset control support Artem Shimko
2025-10-23 20:21 ` [PATCH v5 1/3] dmaengine: dw-axi-dmac: simplify PM functions and use modern macros Artem Shimko
2025-10-23 20:21 ` [PATCH v5 2/3] dmaengine: dw-axi-dmac: add reset control support Artem Shimko
2025-10-23 20:21 ` [PATCH v5 3/3] dmaengine: dw-axi-dmac: fix inconsistent indentation in pause/resume functions Artem Shimko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.