diff options
author | Sameer Pujar <spujar@nvidia.com> | 2019-05-02 14:55:17 +0200 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2019-05-04 12:43:42 +0200 |
commit | f33e7bb3eb922618612a90f0a828c790e8880773 (patch) | |
tree | c3d9cf2217940d48c1d143caa43a5c4d9cedc519 /drivers/tty | |
parent | dmaengine: tegra210-dma: free dma controller in remove() (diff) | |
download | linux-f33e7bb3eb922618612a90f0a828c790e8880773.tar.xz linux-f33e7bb3eb922618612a90f0a828c790e8880773.zip |
dmaengine: tegra210-adma: restore channel status
Status of ADMA channel registers is not saved and restored during system
suspend. During active playback if system enters suspend, this results in
wrong state of channel registers during system resume and playback fails
to resume properly. Fix this by saving following channel registers in
runtime suspend and restore during runtime resume.
* ADMA_CH_LOWER_SRC_ADDR
* ADMA_CH_LOWER_TRG_ADDR
* ADMA_CH_FIFO_CTRL
* ADMA_CH_CONFIG
* ADMA_CH_CTRL
* ADMA_CH_CMD
* ADMA_CH_TC
Runtime PM calls will be inovked during system resume path if a playback
or capture needs to be resumed. Hence above changes work fine for system
suspend case.
Fixes: f46b195799b5 ("dmaengine: tegra-adma: Add support for Tegra210 ADMA")
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/tty')
0 files changed, 0 insertions, 0 deletions