forked from luck/tmp_suning_uos_patched
Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
This commit is contained in:
commit
09269e4eef
|
@ -150,7 +150,7 @@ enum sst_cmd_type {
|
|||
|
||||
enum sst_task {
|
||||
SST_TASK_SBA = 1,
|
||||
SST_TASK_MMX,
|
||||
SST_TASK_MMX = 3,
|
||||
};
|
||||
|
||||
enum sst_type {
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -379,6 +382,10 @@ void sst_configure_runtime_pm(struct intel_sst_drv *ctx)
|
|||
* initially active. So change the state to active before
|
||||
* enabling the pm
|
||||
*/
|
||||
|
||||
if (!acpi_disabled)
|
||||
pm_runtime_set_active(ctx->dev);
|
||||
|
||||
pm_runtime_enable(ctx->dev);
|
||||
|
||||
if (acpi_disabled)
|
||||
|
@ -409,6 +416,7 @@ static int intel_sst_runtime_suspend(struct device *dev)
|
|||
synchronize_irq(ctx->irq_num);
|
||||
flush_workqueue(ctx->post_msg_wq);
|
||||
|
||||
ctx->ops->reset(ctx);
|
||||
/* save the shim registers because PMC doesn't save state */
|
||||
sst_save_shim64(ctx, ctx->shim, ctx->shim_regs64);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user