aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorSakari Ailus <sakari.ailus@linux.intel.com>2025-04-10 09:58:04 +0300
committerVinod Koul <vkoul@kernel.org>2025-04-17 20:38:10 +0530
commit99b201481f3fe44eac5cc05238a715b05bca4df5 (patch)
treeb366f62713c040576618ccda9f5148535b0ead7a /drivers/dma
parentdmaengine: ptdma: Remove dead code from pt_dmaengine_register() (diff)
downloadlinux-rng-99b201481f3fe44eac5cc05238a715b05bca4df5.tar.xz
linux-rng-99b201481f3fe44eac5cc05238a715b05bca4df5.zip
dmaengine: at_xdmac: Use pm_runtime_put_noidle() with many usage_counts
We're holding more than one Runtime PM usage_counts in at_xdmac_device_terminate_all(). This makes pm_runtime_mark_last_busy() redundant and pm_runtime_put_autosuspend() misleading. Drop pm_runtime_mark_last_busy() and use pm_runtime_put_noidle() to decrement the usage_count, except in the case it may be the last. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Link: https://lore.kernel.org/r/20250410065804.3676582-1-sakari.ailus@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/at_xdmac.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
index ba25c23164e7..3fbc74710a13 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -2033,10 +2033,8 @@ static int at_xdmac_device_terminate_all(struct dma_chan *chan)
* at_xdmac_start_xfer() for this descriptor. Now it's time
* to release it.
*/
- if (desc->active_xfer) {
- pm_runtime_put_autosuspend(atxdmac->dev);
- pm_runtime_mark_last_busy(atxdmac->dev);
- }
+ if (desc->active_xfer)
+ pm_runtime_put_noidle(atxdmac->dev);
}
clear_bit(AT_XDMAC_CHAN_IS_PAUSED, &atchan->status);