Commit cb729d80 authored by G Kranthi's avatar G Kranthi Committed by Mark Brown

ASoC: Intel: Skylake: Disable notifications at boot after DSP FW init

DSP firmware sends notification every 1ms, which is disabled in runtime
suspend. But if a system has no runtime pm, we keep getting
notification, so disable after FW init as well.
Signed-off-by: default avatarG Kranthi <gudishax.kranthikumar@intel.com>
Signed-off-by: default avatarJeeja KP <jeeja.kp@intel.com>
Acked-by: default avatarVinod Koul <vinod.koul@intel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 3643ff10
...@@ -58,7 +58,7 @@ static int skl_free_dma_buf(struct device *dev, struct snd_dma_buffer *dmab) ...@@ -58,7 +58,7 @@ static int skl_free_dma_buf(struct device *dev, struct snd_dma_buffer *dmab)
#define NOTIFICATION_MASK 0xf #define NOTIFICATION_MASK 0xf
/* disable notfication for underruns/overruns from firmware module */ /* disable notfication for underruns/overruns from firmware module */
static void skl_dsp_enable_notification(struct skl_sst *ctx, bool enable) void skl_dsp_enable_notification(struct skl_sst *ctx, bool enable)
{ {
struct notification_mask mask; struct notification_mask mask;
struct skl_ipc_large_config_msg msg = {0}; struct skl_ipc_large_config_msg msg = {0};
......
...@@ -1214,6 +1214,7 @@ static int skl_platform_soc_probe(struct snd_soc_platform *platform) ...@@ -1214,6 +1214,7 @@ static int skl_platform_soc_probe(struct snd_soc_platform *platform)
} }
skl_populate_modules(skl); skl_populate_modules(skl);
skl->skl_sst->update_d0i3c = skl_update_d0i3c; skl->skl_sst->update_d0i3c = skl_update_d0i3c;
skl_dsp_enable_notification(skl->skl_sst, false);
} }
pm_runtime_mark_last_busy(platform->dev); pm_runtime_mark_last_busy(platform->dev);
pm_runtime_put_autosuspend(platform->dev); pm_runtime_put_autosuspend(platform->dev);
......
...@@ -235,4 +235,6 @@ int skl_get_pvt_instance_id_map(struct skl_sst *ctx, ...@@ -235,4 +235,6 @@ int skl_get_pvt_instance_id_map(struct skl_sst *ctx,
void skl_freeup_uuid_list(struct skl_sst *ctx); void skl_freeup_uuid_list(struct skl_sst *ctx);
int skl_dsp_strip_extended_manifest(struct firmware *fw); int skl_dsp_strip_extended_manifest(struct firmware *fw);
void skl_dsp_enable_notification(struct skl_sst *ctx, bool enable);
#endif /*__SKL_SST_DSP_H__*/ #endif /*__SKL_SST_DSP_H__*/
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment