* [PATCH 09/80] dmaengine: at_xdmac: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 10/80] dmaengine: pl330: " Sakari Ailus
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Ludovic Desroches, Vinod Koul; +Cc: linux-arm-kernel, dmaengine, linux-kernel
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/dma/at_xdmac.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
index 3fbc74710a13..ada96d490847 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -379,7 +379,6 @@ static void at_xdmac_runtime_suspend_descriptors(struct at_xdmac_chan *atchan)
if (!desc->active_xfer)
continue;
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
}
}
@@ -413,7 +412,6 @@ static bool at_xdmac_chan_is_enabled(struct at_xdmac_chan *atchan)
ret = !!(at_xdmac_chan_read(atchan, AT_XDMAC_GS) & atchan->mask);
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
return ret;
@@ -446,7 +444,6 @@ static void at_xdmac_off(struct at_xdmac *atxdmac, bool suspend_descriptors)
}
}
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
}
@@ -1676,7 +1673,6 @@ at_xdmac_tx_status(struct dma_chan *chan, dma_cookie_t cookie,
spin_unlock:
spin_unlock_irqrestore(&atchan->lock, flags);
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
return ret;
}
@@ -1758,7 +1754,6 @@ static void at_xdmac_handle_error(struct at_xdmac_chan *atchan)
__func__, &bad_desc->lld.mbr_sa, &bad_desc->lld.mbr_da,
bad_desc->lld.mbr_ubc);
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
/* Then continue with usual descriptor management */
@@ -1822,7 +1817,6 @@ static void at_xdmac_tasklet(struct tasklet_struct *t)
* Decrement runtime PM ref counter incremented in
* at_xdmac_start_xfer().
*/
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
}
@@ -1954,7 +1948,6 @@ static int at_xdmac_device_pause(struct dma_chan *chan)
spin_unlock_irqrestore(&atchan->lock, flags);
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
return 0;
@@ -1998,7 +1991,6 @@ static int at_xdmac_device_resume(struct dma_chan *chan)
unlock:
spin_unlock_irqrestore(&atchan->lock, flags);
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
return ret;
@@ -2041,7 +2033,6 @@ static int at_xdmac_device_terminate_all(struct dma_chan *chan)
clear_bit(AT_XDMAC_CHAN_IS_CYCLIC, &atchan->status);
spin_unlock_irqrestore(&atchan->lock, flags);
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
return 0;
@@ -2235,7 +2226,6 @@ static int __maybe_unused atmel_xdmac_resume(struct device *dev)
}
}
- pm_runtime_mark_last_busy(atxdmac->dev);
pm_runtime_put_autosuspend(atxdmac->dev);
return 0;
@@ -2412,7 +2402,6 @@ static int at_xdmac_probe(struct platform_device *pdev)
at_xdmac_axi_config(pdev);
- pm_runtime_mark_last_busy(&pdev->dev);
pm_runtime_put_autosuspend(&pdev->dev);
return 0;
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 10/80] dmaengine: pl330: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
2025-07-04 7:54 ` [PATCH 09/80] dmaengine: at_xdmac: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 11/80] dmaengine: qcom: " Sakari Ailus
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Vinod Koul; +Cc: dmaengine, linux-kernel
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/dma/pl330.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index 82a9fe88ad54..472cb6fe126d 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -2134,7 +2134,6 @@ static void pl330_tasklet(struct tasklet_struct *t)
/* If work list empty, power down */
if (power_down) {
- pm_runtime_mark_last_busy(pch->dmac->ddma.dev);
pm_runtime_put_autosuspend(pch->dmac->ddma.dev);
}
}
@@ -2313,7 +2312,6 @@ static int pl330_terminate_all(struct dma_chan *chan)
list_splice_tail_init(&pch->work_list, &pl330->desc_pool);
list_splice_tail_init(&pch->completed_list, &pl330->desc_pool);
spin_unlock_irqrestore(&pch->lock, flags);
- pm_runtime_mark_last_busy(pl330->ddma.dev);
if (power_down)
pm_runtime_put_autosuspend(pl330->ddma.dev);
pm_runtime_put_autosuspend(pl330->ddma.dev);
@@ -2347,7 +2345,6 @@ static int pl330_pause(struct dma_chan *chan)
desc->status = PAUSED;
}
spin_unlock_irqrestore(&pch->lock, flags);
- pm_runtime_mark_last_busy(pl330->ddma.dev);
pm_runtime_put_autosuspend(pl330->ddma.dev);
return 0;
@@ -2371,7 +2368,6 @@ static void pl330_free_chan_resources(struct dma_chan *chan)
list_splice_tail_init(&pch->work_list, &pch->dmac->desc_pool);
spin_unlock_irqrestore(&pl330->lock, flags);
- pm_runtime_mark_last_busy(pch->dmac->ddma.dev);
pm_runtime_put_autosuspend(pch->dmac->ddma.dev);
pl330_unprep_slave_fifo(pch);
}
@@ -3176,7 +3172,6 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
pm_runtime_irq_safe(&adev->dev);
pm_runtime_use_autosuspend(&adev->dev);
pm_runtime_set_autosuspend_delay(&adev->dev, PL330_AUTOSUSPEND_DELAY);
- pm_runtime_mark_last_busy(&adev->dev);
pm_runtime_put_autosuspend(&adev->dev);
return 0;
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 12/80] dmaengine: ste_dma40: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (2 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 11/80] dmaengine: qcom: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 8:41 ` Linus Walleij
2025-07-04 7:54 ` [PATCH 13/80] dmaengine: ti: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 14/80] dmaengine: zynqmp_dma: " Sakari Ailus
5 siblings, 1 reply; 7+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Linus Walleij, Vinod Koul; +Cc: linux-arm-kernel, dmaengine, linux-kernel
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/dma/ste_dma40.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index d52e1685aed5..13d91d369be2 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -1452,7 +1452,6 @@ static int d40_pause(struct dma_chan *chan)
res = d40_channel_execute_command(d40c, D40_DMA_SUSPEND_REQ);
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
spin_unlock_irqrestore(&d40c->lock, flags);
return res;
@@ -1479,7 +1478,6 @@ static int d40_resume(struct dma_chan *chan)
if (d40_residue(d40c) || d40_tx_is_linked(d40c))
res = d40_channel_execute_command(d40c, D40_DMA_RUN);
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
spin_unlock_irqrestore(&d40c->lock, flags);
return res;
@@ -1581,7 +1579,6 @@ static void dma_tc_handle(struct d40_chan *d40c)
if (d40_queue_start(d40c) == NULL) {
d40c->busy = false;
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
}
@@ -2055,7 +2052,6 @@ static int d40_free_dma(struct d40_chan *d40c)
d40c->base->lookup_phy_chans[phy->num] = NULL;
if (d40c->busy) {
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
}
@@ -2063,7 +2059,6 @@ static int d40_free_dma(struct d40_chan *d40c)
d40c->phy_chan = NULL;
d40c->configured = false;
mark_last_busy:
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
return res;
}
@@ -2466,7 +2461,6 @@ static int d40_alloc_chan_resources(struct dma_chan *chan)
if (is_free_phy)
d40_config_write(d40c);
mark_last_busy:
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
spin_unlock_irqrestore(&d40c->lock, flags);
return err;
@@ -2618,10 +2612,8 @@ static int d40_terminate_all(struct dma_chan *chan)
chan_err(d40c, "Failed to stop channel\n");
d40_term_all(d40c);
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
if (d40c->busy) {
- pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
}
d40c->busy = false;
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 11/80] dmaengine: qcom: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
2025-07-04 7:54 ` [PATCH 09/80] dmaengine: at_xdmac: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
2025-07-04 7:54 ` [PATCH 10/80] dmaengine: pl330: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 12/80] dmaengine: ste_dma40: " Sakari Ailus
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Vinod Koul, Sinan Kaya, Md Sadre Alam, Kees Cook, Dave Jiang,
Uwe Kleine-König, Sakari Ailus, Amit Vadhavana,
Casey Connolly
Cc: linux-arm-msm, dmaengine, linux-kernel, linux-arm-kernel
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/dma/qcom/bam_dma.c | 5 -----
drivers/dma/qcom/hidma.c | 9 ---------
drivers/dma/qcom/hidma_dbg.c | 1 -
drivers/dma/qcom/hidma_mgmt.c | 2 --
4 files changed, 17 deletions(-)
diff --git a/drivers/dma/qcom/bam_dma.c b/drivers/dma/qcom/bam_dma.c
index bbc3276992bb..e6f642e8c731 100644
--- a/drivers/dma/qcom/bam_dma.c
+++ b/drivers/dma/qcom/bam_dma.c
@@ -608,7 +608,6 @@ static void bam_free_chan(struct dma_chan *chan)
}
err:
- pm_runtime_mark_last_busy(bdev->dev);
pm_runtime_put_autosuspend(bdev->dev);
}
@@ -784,7 +783,6 @@ static int bam_pause(struct dma_chan *chan)
writel_relaxed(1, bam_addr(bdev, bchan->id, BAM_P_HALT));
bchan->paused = 1;
spin_unlock_irqrestore(&bchan->vc.lock, flag);
- pm_runtime_mark_last_busy(bdev->dev);
pm_runtime_put_autosuspend(bdev->dev);
return 0;
@@ -810,7 +808,6 @@ static int bam_resume(struct dma_chan *chan)
writel_relaxed(0, bam_addr(bdev, bchan->id, BAM_P_HALT));
bchan->paused = 0;
spin_unlock_irqrestore(&bchan->vc.lock, flag);
- pm_runtime_mark_last_busy(bdev->dev);
pm_runtime_put_autosuspend(bdev->dev);
return 0;
@@ -927,7 +924,6 @@ static irqreturn_t bam_dma_irq(int irq, void *data)
writel_relaxed(clr_mask, bam_addr(bdev, 0, BAM_IRQ_CLR));
}
- pm_runtime_mark_last_busy(bdev->dev);
pm_runtime_put_autosuspend(bdev->dev);
return IRQ_HANDLED;
@@ -1102,7 +1098,6 @@ static void bam_start_dma(struct bam_chan *bchan)
writel_relaxed(bchan->tail * sizeof(struct bam_desc_hw),
bam_addr(bdev, bchan->id, BAM_P_EVNT_REG));
- pm_runtime_mark_last_busy(bdev->dev);
pm_runtime_put_autosuspend(bdev->dev);
}
diff --git a/drivers/dma/qcom/hidma.c b/drivers/dma/qcom/hidma.c
index c2b3e4452e71..ded27a674e5f 100644
--- a/drivers/dma/qcom/hidma.c
+++ b/drivers/dma/qcom/hidma.c
@@ -185,7 +185,6 @@ static void hidma_callback(void *data)
hidma_process_completed(mchan);
if (queued) {
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
}
}
@@ -316,11 +315,9 @@ static dma_cookie_t hidma_tx_submit(struct dma_async_tx_descriptor *txd)
pm_runtime_get_sync(dmadev->ddev.dev);
if (!hidma_ll_isenabled(dmadev->lldev)) {
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
return -ENODEV;
}
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
mdesc = container_of(txd, struct hidma_desc, desc);
@@ -507,7 +504,6 @@ static int hidma_terminate_channel(struct dma_chan *chan)
rc = hidma_ll_enable(dmadev->lldev);
out:
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
return rc;
}
@@ -525,7 +521,6 @@ static int hidma_terminate_all(struct dma_chan *chan)
/* reinitialize the hardware */
pm_runtime_get_sync(dmadev->ddev.dev);
rc = hidma_ll_setup(dmadev->lldev);
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
return rc;
}
@@ -569,7 +564,6 @@ static int hidma_pause(struct dma_chan *chan)
if (hidma_ll_disable(dmadev->lldev))
dev_warn(dmadev->ddev.dev, "channel did not stop\n");
mchan->paused = true;
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
}
return 0;
@@ -591,7 +585,6 @@ static int hidma_resume(struct dma_chan *chan)
else
dev_err(dmadev->ddev.dev,
"failed to resume the channel");
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
}
return rc;
@@ -882,7 +875,6 @@ static int hidma_probe(struct platform_device *pdev)
hidma_debug_init(dmadev);
hidma_sysfs_init(dmadev);
dev_info(&pdev->dev, "HI-DMA engine driver registration complete\n");
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
return 0;
@@ -909,7 +901,6 @@ static void hidma_shutdown(struct platform_device *pdev)
pm_runtime_get_sync(dmadev->ddev.dev);
if (hidma_ll_disable(dmadev->lldev))
dev_warn(dmadev->ddev.dev, "channel did not stop\n");
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
}
diff --git a/drivers/dma/qcom/hidma_dbg.c b/drivers/dma/qcom/hidma_dbg.c
index ce87c7937a0e..7d7594da084c 100644
--- a/drivers/dma/qcom/hidma_dbg.c
+++ b/drivers/dma/qcom/hidma_dbg.c
@@ -103,7 +103,6 @@ static int hidma_chan_show(struct seq_file *s, void *unused)
hidma_ll_chstats(s, mchan->dmadev->lldev, mdesc->tre_ch);
hidma_ll_devstats(s, mchan->dmadev->lldev);
- pm_runtime_mark_last_busy(dmadev->ddev.dev);
pm_runtime_put_autosuspend(dmadev->ddev.dev);
return 0;
}
diff --git a/drivers/dma/qcom/hidma_mgmt.c b/drivers/dma/qcom/hidma_mgmt.c
index 4805ce390ffa..8442082bde23 100644
--- a/drivers/dma/qcom/hidma_mgmt.c
+++ b/drivers/dma/qcom/hidma_mgmt.c
@@ -150,7 +150,6 @@ int hidma_mgmt_setup(struct hidma_mgmt_dev *mgmtdev)
val |= mgmtdev->chreset_timeout_cycles & HIDMA_CHRESET_TIMEOUT_MASK;
writel(val, mgmtdev->virtaddr + HIDMA_CHRESET_TIMEOUT_OFFSET);
- pm_runtime_mark_last_busy(&mgmtdev->pdev->dev);
pm_runtime_put_autosuspend(&mgmtdev->pdev->dev);
return 0;
}
@@ -305,7 +304,6 @@ static int hidma_mgmt_probe(struct platform_device *pdev)
&res->start, mgmtdev->dma_channels);
platform_set_drvdata(pdev, mgmtdev);
- pm_runtime_mark_last_busy(&pdev->dev);
pm_runtime_put_autosuspend(&pdev->dev);
return 0;
out:
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 13/80] dmaengine: ti: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (3 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 12/80] dmaengine: ste_dma40: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
2025-07-04 7:54 ` [PATCH 14/80] dmaengine: zynqmp_dma: " Sakari Ailus
5 siblings, 0 replies; 7+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Vinod Koul, Sakari Ailus, Uwe Kleine-König; +Cc: dmaengine, linux-kernel
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/dma/ti/cppi41.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/dma/ti/cppi41.c b/drivers/dma/ti/cppi41.c
index 8d8c3d6038fc..88756dccd62c 100644
--- a/drivers/dma/ti/cppi41.c
+++ b/drivers/dma/ti/cppi41.c
@@ -390,7 +390,6 @@ static int cppi41_dma_alloc_chan_resources(struct dma_chan *chan)
if (!c->is_tx)
cppi_writel(c->q_num, c->gcr_reg + RXHPCRA0);
- pm_runtime_mark_last_busy(cdd->ddev.dev);
pm_runtime_put_autosuspend(cdd->ddev.dev);
return 0;
@@ -411,7 +410,6 @@ static void cppi41_dma_free_chan_resources(struct dma_chan *chan)
WARN_ON(!list_empty(&cdd->pending));
- pm_runtime_mark_last_busy(cdd->ddev.dev);
pm_runtime_put_autosuspend(cdd->ddev.dev);
}
@@ -509,7 +507,6 @@ static void cppi41_dma_issue_pending(struct dma_chan *chan)
cppi41_run_queue(cdd);
spin_unlock_irqrestore(&cdd->lock, flags);
- pm_runtime_mark_last_busy(cdd->ddev.dev);
pm_runtime_put_autosuspend(cdd->ddev.dev);
}
@@ -627,7 +624,6 @@ static struct dma_async_tx_descriptor *cppi41_dma_prep_slave_sg(
txd = &c->txd;
err_out_not_ready:
- pm_runtime_mark_last_busy(cdd->ddev.dev);
pm_runtime_put_autosuspend(cdd->ddev.dev);
return txd;
@@ -1139,7 +1135,6 @@ static int cppi41_dma_probe(struct platform_device *pdev)
if (ret)
goto err_of;
- pm_runtime_mark_last_busy(dev);
pm_runtime_put_autosuspend(dev);
return 0;
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 14/80] dmaengine: zynqmp_dma: Remove redundant pm_runtime_mark_last_busy() calls
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
` (4 preceding siblings ...)
2025-07-04 7:54 ` [PATCH 13/80] dmaengine: ti: " Sakari Ailus
@ 2025-07-04 7:54 ` Sakari Ailus
5 siblings, 0 replies; 7+ messages in thread
From: Sakari Ailus @ 2025-07-04 7:54 UTC (permalink / raw)
To: Vinod Koul, Michal Simek, Uwe Kleine-König, Sakari Ailus,
Yan Zhen, Palmer Dabbelt, Abin Joseph
Cc: dmaengine, linux-arm-kernel, linux-kernel
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
The cover letter of the set can be found here
<URL:https://lore.kernel.org/linux-pm/20250704075225.3212486-1-sakari.ailus@linux.intel.com>.
In brief, this patch depends on PM runtime patches adding marking the last
busy timestamp in autosuspend related functions. The patches are here, on
rc2:
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git \
pm-runtime-6.17-rc1
drivers/dma/xilinx/zynqmp_dma.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dma.c
index d05fc5fcc77d..1e2b9f37fd40 100644
--- a/drivers/dma/xilinx/zynqmp_dma.c
+++ b/drivers/dma/xilinx/zynqmp_dma.c
@@ -695,7 +695,6 @@ static void zynqmp_dma_free_chan_resources(struct dma_chan *dchan)
(2 * ZYNQMP_DMA_DESC_SIZE(chan) * ZYNQMP_DMA_NUM_DESCS),
chan->desc_pool_v, chan->desc_pool_p);
kfree(chan->sw_desc_pool);
- pm_runtime_mark_last_busy(chan->dev);
pm_runtime_put_autosuspend(chan->dev);
}
@@ -1145,7 +1144,6 @@ static int zynqmp_dma_probe(struct platform_device *pdev)
goto free_chan_resources;
}
- pm_runtime_mark_last_busy(zdev->dev);
pm_runtime_put_sync_autosuspend(zdev->dev);
return 0;
--
2.39.5
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 12/80] dmaengine: ste_dma40: Remove redundant pm_runtime_mark_last_busy() calls
2025-07-04 7:54 ` [PATCH 12/80] dmaengine: ste_dma40: " Sakari Ailus
@ 2025-07-04 8:41 ` Linus Walleij
0 siblings, 0 replies; 7+ messages in thread
From: Linus Walleij @ 2025-07-04 8:41 UTC (permalink / raw)
To: Sakari Ailus; +Cc: Vinod Koul, linux-arm-kernel, dmaengine, linux-kernel
On Fri, Jul 4, 2025 at 9:54 AM Sakari Ailus
<sakari.ailus@linux.intel.com> wrote:
> pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
> pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
> to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
> pm_runtime_mark_last_busy().
>
> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-07-04 8:41 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20250704075225.3212486-1-sakari.ailus@linux.intel.com>
2025-07-04 7:54 ` [PATCH 09/80] dmaengine: at_xdmac: Remove redundant pm_runtime_mark_last_busy() calls Sakari Ailus
2025-07-04 7:54 ` [PATCH 10/80] dmaengine: pl330: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 11/80] dmaengine: qcom: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 12/80] dmaengine: ste_dma40: " Sakari Ailus
2025-07-04 8:41 ` Linus Walleij
2025-07-04 7:54 ` [PATCH 13/80] dmaengine: ti: " Sakari Ailus
2025-07-04 7:54 ` [PATCH 14/80] dmaengine: zynqmp_dma: " Sakari Ailus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).