Skip to contentSkip to conversation

dmaengine: rcar-dmac: Make DMAC reinit during system resume explicit

DISCUSSION Vinod Koul 1 participant 1 message Jan 17, 2018 dmaengine

lore
Share & tools
lore

Vinod Koul

author Acked-by
#0 lore raw
Quoted 9 lines · Geert Uytterhoeven

The current (empty) system sleep callbacks rely on the PM core to force a runtime resume to reinitialize the DMAC registers during system resume. Without a reinitialization, e.g. SCIF DMA will hang silently after a system resume on R-Car Gen3.

Make this explicit by using pm_runtime_force_{suspend,resume}() as the system sleep callbacks instead. Use SET_LATE_SYSTEM_SLEEP_PM_OPS() as DMA engines must be initialized before all DMA slave devices.

Quoted 7 lines

---
This is a dependency for "[PATCH 1/2] PM / genpd: Stop/start devices without pm_runtime_force_suspend/resume()"
(https://www.spinics.net/lists/kernel/msg2696802.html), so perhaps it makes most sense if Rafael takes it through the PM tree?

Sounds okay to me.

Signature · 1 line
~Vinod