[alsa-devel] Question about tx_mask/rx_mask
Kuninori Morimoto
kuninori.morimoto.gx at renesas.com
Thu Jan 23 08:09:22 CET 2020
Hi ALSA ML
I want to ask about tx_mask / rx_mask.
soc_pcm_open() is calling snd_soc_dai_startup() (= (A)), and then,
it setup tx_mask / rx_mask.
static int soc_pcm_open(...)
{
...
for_each_rtd_codec_dai(rtd, i, codec_dai) {
(A) ret = snd_soc_dai_startup(codec_dai, substream);
if (ret < 0) {
dev_err(...)
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
=> codec_dai->tx_mask = 0;
else
=> codec_dai->rx_mask = 0;
}
...
}
snd_soc_dai_link_event_pre_pmu() also calling snd_soc_dai_startup(),
but, it doesn't care about tx/rx_mask.
Is this bug ?
snd_soc_dai_link_event_pre_pmu(...)
{
...
substream->stream = SNDRV_PCM_STREAM_CAPTURE;
snd_soc_dapm_widget_for_each_source_path(w, path) {
source = path->source->priv;
(A) ret = snd_soc_dai_startup(source, substream);
if (ret < 0) {
dev_err(source->dev,
"ASoC: startup() failed: %d\n", ret);
goto out;
}
source->active++;
}
substream->stream = SNDRV_PCM_STREAM_PLAYBACK;
snd_soc_dapm_widget_for_each_sink_path(w, path) {
sink = path->sink->priv;
(A) ret = snd_soc_dai_startup(sink, substream);
if (ret < 0) {
dev_err(sink->dev,
"ASoC: startup() failed: %d\n", ret);
goto out;
}
sink->active++;
}
...
}
Thank you for your help !!
Best regards
---
Kuninori Morimoto
More information about the Alsa-devel
mailing list