Loading sound/soc/intel/sst-atom-controls.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -150,7 +150,7 @@ enum sst_cmd_type { enum sst_task { enum sst_task { SST_TASK_SBA = 1, SST_TASK_SBA = 1, SST_TASK_MMX, SST_TASK_MMX = 3, }; }; enum sst_type { enum sst_type { Loading sound/soc/intel/sst/sst.c +9 −1 Original line number Original line Diff line number Diff line Loading @@ -350,7 +350,9 @@ static inline void sst_save_shim64(struct intel_sst_drv *ctx, spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); 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); spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags); } } Loading @@ -367,6 +369,7 @@ static inline void sst_restore_shim64(struct intel_sst_drv *ctx, */ */ spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); sst_shim_write64(shim, SST_IMRX, shim_regs->imrx), 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); spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags); } } Loading @@ -379,6 +382,10 @@ void sst_configure_runtime_pm(struct intel_sst_drv *ctx) * initially active. So change the state to active before * initially active. So change the state to active before * enabling the pm * enabling the pm */ */ if (!acpi_disabled) pm_runtime_set_active(ctx->dev); pm_runtime_enable(ctx->dev); pm_runtime_enable(ctx->dev); if (acpi_disabled) if (acpi_disabled) Loading Loading @@ -409,6 +416,7 @@ static int intel_sst_runtime_suspend(struct device *dev) synchronize_irq(ctx->irq_num); synchronize_irq(ctx->irq_num); flush_workqueue(ctx->post_msg_wq); flush_workqueue(ctx->post_msg_wq); ctx->ops->reset(ctx); /* save the shim registers because PMC doesn't save state */ /* save the shim registers because PMC doesn't save state */ sst_save_shim64(ctx, ctx->shim, ctx->shim_regs64); sst_save_shim64(ctx, ctx->shim, ctx->shim_regs64); Loading Loading
sound/soc/intel/sst-atom-controls.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -150,7 +150,7 @@ enum sst_cmd_type { enum sst_task { enum sst_task { SST_TASK_SBA = 1, SST_TASK_SBA = 1, SST_TASK_MMX, SST_TASK_MMX = 3, }; }; enum sst_type { enum sst_type { Loading
sound/soc/intel/sst/sst.c +9 −1 Original line number Original line Diff line number Diff line Loading @@ -350,7 +350,9 @@ static inline void sst_save_shim64(struct intel_sst_drv *ctx, spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); 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); spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags); } } Loading @@ -367,6 +369,7 @@ static inline void sst_restore_shim64(struct intel_sst_drv *ctx, */ */ spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); spin_lock_irqsave(&ctx->ipc_spin_lock, irq_flags); sst_shim_write64(shim, SST_IMRX, shim_regs->imrx), 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); spin_unlock_irqrestore(&ctx->ipc_spin_lock, irq_flags); } } Loading @@ -379,6 +382,10 @@ void sst_configure_runtime_pm(struct intel_sst_drv *ctx) * initially active. So change the state to active before * initially active. So change the state to active before * enabling the pm * enabling the pm */ */ if (!acpi_disabled) pm_runtime_set_active(ctx->dev); pm_runtime_enable(ctx->dev); pm_runtime_enable(ctx->dev); if (acpi_disabled) if (acpi_disabled) Loading Loading @@ -409,6 +416,7 @@ static int intel_sst_runtime_suspend(struct device *dev) synchronize_irq(ctx->irq_num); synchronize_irq(ctx->irq_num); flush_workqueue(ctx->post_msg_wq); flush_workqueue(ctx->post_msg_wq); ctx->ops->reset(ctx); /* save the shim registers because PMC doesn't save state */ /* save the shim registers because PMC doesn't save state */ sst_save_shim64(ctx, ctx->shim, ctx->shim_regs64); sst_save_shim64(ctx, ctx->shim, ctx->shim_regs64); Loading