dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio
authorTony Lindgren <tony@atomide.com>
Mon, 9 Nov 2020 15:40:13 +0000 (17:40 +0200)
committerVinod Koul <vkoul@kernel.org>
Tue, 10 Nov 2020 12:44:09 +0000 (18:14 +0530)
commit29a25b9246f7f24203d30d59424cbe22bd905dfc
treec8325ffc4b858238f348b268649295a7dcc3a875
parent96d5d884f78306206d745d856aad322becd100c3
dmaengine: ti: omap-dma: Block PM if SDMA is busy to fix audio

We now use cpu_pm for saving and restoring device context for deeper SoC
idle states. But for omap3, we must also block idle if SDMA is busy.

If we don't block idle when SDMA is busy, we eventually end up saving and
restoring SDMA register state on PER domain idle while SDMA is active and
that causes at least audio playback to fail.

Fixes: 4c74ecf79227 ("dmaengine: ti: omap-dma: Add device tree match data and use it for cpu_pm")
Reported-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20201109154013.11950-1-tony@atomide.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/ti/omap-dma.c