Loading include/sound/soc-dai.h +1 −0 Original line number Diff line number Diff line Loading @@ -370,6 +370,7 @@ struct snd_soc_dai_ops { /* bit field */ unsigned int no_capture_mute:1; unsigned int mute_unmute_on_trigger:1; }; struct snd_soc_cdai_ops { Loading sound/soc/codecs/wsa883x.c +1 −6 Original line number Diff line number Diff line Loading @@ -1203,9 +1203,6 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w, break; } snd_soc_component_write_field(component, WSA883X_DRE_CTL_1, WSA883X_DRE_GAIN_EN_MASK, WSA883X_DRE_GAIN_FROM_CSR); if (wsa883x->port_enable[WSA883X_PORT_COMP]) snd_soc_component_write_field(component, WSA883X_DRE_CTL_0, WSA883X_DRE_OFFSET_MASK, Loading @@ -1218,9 +1215,6 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w, snd_soc_component_write_field(component, WSA883X_PDM_WD_CTL, WSA883X_PDM_EN_MASK, WSA883X_PDM_ENABLE); snd_soc_component_write_field(component, WSA883X_PA_FSM_CTL, WSA883X_GLOBAL_PA_EN_MASK, WSA883X_GLOBAL_PA_ENABLE); break; case SND_SOC_DAPM_PRE_PMD: Loading Loading @@ -1346,6 +1340,7 @@ static const struct snd_soc_dai_ops wsa883x_dai_ops = { .hw_free = wsa883x_hw_free, .mute_stream = wsa883x_digital_mute, .set_stream = wsa883x_set_sdw_stream, .mute_unmute_on_trigger = true, }; static struct snd_soc_dai_driver wsa883x_dais[] = { Loading sound/soc/fsl/fsl_easrc.c +6 −2 Original line number Diff line number Diff line Loading @@ -1966,17 +1966,21 @@ static int fsl_easrc_probe(struct platform_device *pdev) &fsl_easrc_dai, 1); if (ret) { dev_err(dev, "failed to register ASoC DAI\n"); return ret; goto err_pm_disable; } ret = devm_snd_soc_register_component(dev, &fsl_asrc_component, NULL, 0); if (ret) { dev_err(&pdev->dev, "failed to register ASoC platform\n"); return ret; goto err_pm_disable; } return 0; err_pm_disable: pm_runtime_disable(&pdev->dev); return ret; } static void fsl_easrc_remove(struct platform_device *pdev) Loading sound/soc/intel/skylake/skl-sst-utils.c +1 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,7 @@ int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw, module->instance_id = devm_kzalloc(ctx->dev, size, GFP_KERNEL); if (!module->instance_id) { ret = -ENOMEM; kfree(module); goto free_uuid_list; } Loading sound/soc/soc-dai.c +7 −0 Original line number Diff line number Diff line Loading @@ -658,6 +658,10 @@ int snd_soc_pcm_dai_trigger(struct snd_pcm_substream *substream, ret = soc_dai_trigger(dai, substream, cmd); if (ret < 0) break; if (dai->driver->ops && dai->driver->ops->mute_unmute_on_trigger) snd_soc_dai_digital_mute(dai, 0, substream->stream); soc_dai_mark_push(dai, substream, trigger); } break; Loading @@ -668,6 +672,9 @@ int snd_soc_pcm_dai_trigger(struct snd_pcm_substream *substream, if (rollback && !soc_dai_mark_match(dai, substream, trigger)) continue; if (dai->driver->ops && dai->driver->ops->mute_unmute_on_trigger) snd_soc_dai_digital_mute(dai, 1, substream->stream); r = soc_dai_trigger(dai, substream, cmd); if (r < 0) ret = r; /* use last ret */ Loading Loading
include/sound/soc-dai.h +1 −0 Original line number Diff line number Diff line Loading @@ -370,6 +370,7 @@ struct snd_soc_dai_ops { /* bit field */ unsigned int no_capture_mute:1; unsigned int mute_unmute_on_trigger:1; }; struct snd_soc_cdai_ops { Loading
sound/soc/codecs/wsa883x.c +1 −6 Original line number Diff line number Diff line Loading @@ -1203,9 +1203,6 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w, break; } snd_soc_component_write_field(component, WSA883X_DRE_CTL_1, WSA883X_DRE_GAIN_EN_MASK, WSA883X_DRE_GAIN_FROM_CSR); if (wsa883x->port_enable[WSA883X_PORT_COMP]) snd_soc_component_write_field(component, WSA883X_DRE_CTL_0, WSA883X_DRE_OFFSET_MASK, Loading @@ -1218,9 +1215,6 @@ static int wsa883x_spkr_event(struct snd_soc_dapm_widget *w, snd_soc_component_write_field(component, WSA883X_PDM_WD_CTL, WSA883X_PDM_EN_MASK, WSA883X_PDM_ENABLE); snd_soc_component_write_field(component, WSA883X_PA_FSM_CTL, WSA883X_GLOBAL_PA_EN_MASK, WSA883X_GLOBAL_PA_ENABLE); break; case SND_SOC_DAPM_PRE_PMD: Loading Loading @@ -1346,6 +1340,7 @@ static const struct snd_soc_dai_ops wsa883x_dai_ops = { .hw_free = wsa883x_hw_free, .mute_stream = wsa883x_digital_mute, .set_stream = wsa883x_set_sdw_stream, .mute_unmute_on_trigger = true, }; static struct snd_soc_dai_driver wsa883x_dais[] = { Loading
sound/soc/fsl/fsl_easrc.c +6 −2 Original line number Diff line number Diff line Loading @@ -1966,17 +1966,21 @@ static int fsl_easrc_probe(struct platform_device *pdev) &fsl_easrc_dai, 1); if (ret) { dev_err(dev, "failed to register ASoC DAI\n"); return ret; goto err_pm_disable; } ret = devm_snd_soc_register_component(dev, &fsl_asrc_component, NULL, 0); if (ret) { dev_err(&pdev->dev, "failed to register ASoC platform\n"); return ret; goto err_pm_disable; } return 0; err_pm_disable: pm_runtime_disable(&pdev->dev); return ret; } static void fsl_easrc_remove(struct platform_device *pdev) Loading
sound/soc/intel/skylake/skl-sst-utils.c +1 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,7 @@ int snd_skl_parse_uuids(struct sst_dsp *ctx, const struct firmware *fw, module->instance_id = devm_kzalloc(ctx->dev, size, GFP_KERNEL); if (!module->instance_id) { ret = -ENOMEM; kfree(module); goto free_uuid_list; } Loading
sound/soc/soc-dai.c +7 −0 Original line number Diff line number Diff line Loading @@ -658,6 +658,10 @@ int snd_soc_pcm_dai_trigger(struct snd_pcm_substream *substream, ret = soc_dai_trigger(dai, substream, cmd); if (ret < 0) break; if (dai->driver->ops && dai->driver->ops->mute_unmute_on_trigger) snd_soc_dai_digital_mute(dai, 0, substream->stream); soc_dai_mark_push(dai, substream, trigger); } break; Loading @@ -668,6 +672,9 @@ int snd_soc_pcm_dai_trigger(struct snd_pcm_substream *substream, if (rollback && !soc_dai_mark_match(dai, substream, trigger)) continue; if (dai->driver->ops && dai->driver->ops->mute_unmute_on_trigger) snd_soc_dai_digital_mute(dai, 1, substream->stream); r = soc_dai_trigger(dai, substream, cmd); if (r < 0) ret = r; /* use last ret */ Loading