diff options
author | Vinod Koul <vinod.koul@intel.com> | 2015-02-12 09:59:59 +0530 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-02-24 00:38:38 +0900 |
commit | a825ac7678a43f7a22ff19842baebcf4aa14e950 (patch) | |
tree | fde300c4bbf12360c2b053e04c25be279022d5a5 | |
parent | b3ec1c35385a16ddd98fdf104dcf4623a66e042a (diff) | |
download | op-kernel-dev-a825ac7678a43f7a22ff19842baebcf4aa14e950.zip op-kernel-dev-a825ac7678a43f7a22ff19842baebcf4aa14e950.tar.gz |
ASoC: Intel: save and restore the CSR register
The IPC driver saved only IMR register, we need to save the CSR as well, so
add it
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/intel/sst/sst.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/intel/sst/sst.c b/sound/soc/intel/sst/sst.c index d6ea800..97234ec 100644 --- a/sound/soc/intel/sst/sst.c +++ b/sound/soc/intel/sst/sst.c @@ -350,7 +350,9 @@ static inline void sst_save_shim64(struct intel_sst_drv *ctx, spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); - shim_regs->imrx = sst_shim_read64(shim, SST_IMRX), + shim_regs->imrx = sst_shim_read64(shim, SST_IMRX); + shim_regs->csr = sst_shim_read64(shim, SST_CSR); + spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags); } @@ -367,6 +369,7 @@ static inline void sst_restore_shim64(struct intel_sst_drv *ctx, */ spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); sst_shim_write64(shim, SST_IMRX, shim_regs->imrx), + sst_shim_write64(shim, SST_CSR, shim_regs->csr), spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags); } |