[PATCH] dmaengine: ti: omap-dma: Skip pointless cpu_pm context restore on errors
Tony Lindgren
tony at atomide.com
Tue May 18 00:43:47 PDT 2021
There's no need to restore DMA context on CPU_CLUSTER_PM_ENTER_FAILED as
the DMA context won't be lost on errors.
Note that this does not cause invalid context restore as we already check
for busy DMA with omap_dma_busy() in CPU_CLUSTER_PM_ENTER, and block any
deeper idle states for the SoC by returning NOTIFY_BAD if busy.
If other drivers block deeper idle states with cpu_pm, we now just do a
pointless restore, but only if dma was not busy on CPU_CLUSTER_PM_ENTER.
Let's update the CPU_CLUSTER_PM_ENTER_FAILED handling for correctness,
and add a comment.
Cc: Aaro Koskinen <aaro.koskinen at iki.fi>
Cc: Adam Ford <aford173 at gmail.com>
Cc: Andreas Kemnade <andreas at kemnade.info>
Cc: Peter Ujfalusi <peter.ujfalusi at gmail.com>
Signed-off-by: Tony Lindgren <tony at atomide.com>
---
drivers/dma/ti/omap-dma.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/ti/omap-dma.c b/drivers/dma/ti/omap-dma.c
--- a/drivers/dma/ti/omap-dma.c
+++ b/drivers/dma/ti/omap-dma.c
@@ -1608,7 +1608,8 @@ static int omap_dma_context_notifier(struct notifier_block *nb,
return NOTIFY_BAD;
omap_dma_context_save(od);
break;
- case CPU_CLUSTER_PM_ENTER_FAILED:
+ case CPU_CLUSTER_PM_ENTER_FAILED: /* No need to restore context */
+ break;
case CPU_CLUSTER_PM_EXIT:
omap_dma_context_restore(od);
break;
--
2.31.1
More information about the linux-arm-kernel
mailing list