06.08.2020 16:56, Rajesh Gumasta пишет: ... >>> +static const struct __maybe_unused dev_pm_ops >> tegra_dma_dev_pm_ops = { >>> + SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(tegra_dma_pm_suspend, >>> +tegra_dma_pm_resume) }; >> >> Please explain why this is needed. All DMA should be stopped (not >> paused) on system's suspend, shouldn't it? > I have rechecked with HW verification team and they confirmed that after suspend, csr and channel registers will get reset hence on resume we need to restore back. > Also GPCDMA does not support power gate as a unit. But all registers are re-programmed on starting a DMA transfer, hence why do you need to save-restore them on suspend-resume?