|
@@ -55,6 +55,19 @@ static int skl_free_dma_buf(struct device *dev, struct snd_dma_buffer *dmab)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+#define SKL_ASTATE_PARAM_ID 4
|
|
|
|
+
|
|
|
|
+void skl_dsp_set_astate_cfg(struct skl_sst *ctx, u32 cnt, void *data)
|
|
|
|
+{
|
|
|
|
+ struct skl_ipc_large_config_msg msg = {0};
|
|
|
|
+
|
|
|
|
+ msg.large_param_id = SKL_ASTATE_PARAM_ID;
|
|
|
|
+ msg.param_data_size = (cnt * sizeof(struct skl_astate_param) +
|
|
|
|
+ sizeof(cnt));
|
|
|
|
+
|
|
|
|
+ skl_ipc_set_large_config(&ctx->ipc, &msg, data);
|
|
|
|
+}
|
|
|
|
+
|
|
#define NOTIFICATION_PARAM_ID 3
|
|
#define NOTIFICATION_PARAM_ID 3
|
|
#define NOTIFICATION_MASK 0xf
|
|
#define NOTIFICATION_MASK 0xf
|
|
|
|
|
|
@@ -409,6 +422,11 @@ int skl_resume_dsp(struct skl *skl)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
skl_dsp_enable_notification(skl->skl_sst, false);
|
|
skl_dsp_enable_notification(skl->skl_sst, false);
|
|
|
|
+
|
|
|
|
+ if (skl->cfg.astate_cfg != NULL) {
|
|
|
|
+ skl_dsp_set_astate_cfg(skl->skl_sst, skl->cfg.astate_cfg->count,
|
|
|
|
+ skl->cfg.astate_cfg);
|
|
|
|
+ }
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|