All of lore.kernel.org
 help / color / mirror / Atom feed
* [alsa-devel] Question about tx_mask/rx_mask
@ 2020-01-23  7:09 Kuninori Morimoto
  0 siblings, 0 replies; only message in thread
From: Kuninori Morimoto @ 2020-01-23  7:09 UTC (permalink / raw)
  To: Linux-ALSA


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
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-01-23  7:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-23  7:09 [alsa-devel] Question about tx_mask/rx_mask Kuninori Morimoto

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.