Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05773792 authored by Takashi Sakamoto's avatar Takashi Sakamoto Committed by Takashi Iwai
Browse files

ALSA: bebob: add SYT-Match support



In previous commits, this driver can detect the source of clock as mush
as possible. SYT-Match mode is also available.

This commit purge the restriction.

Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 554d8983
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -171,11 +171,6 @@ pcm_open(struct snd_pcm_substream *substream)
	err = snd_bebob_stream_get_clock_src(bebob, &src);
	if (err < 0)
		goto err_locked;
	/* SYT-Match is not supported. */
	if (src == SND_BEBOB_CLOCK_TYPE_SYT) {
		err = -EBUSY;
		goto err_locked;
	}

	/*
	 * When source of clock is internal or any PCM stream are running,
+18 −2
Original line number Diff line number Diff line
@@ -474,8 +474,24 @@ destroy_both_connections(struct snd_bebob *bebob)
static int
get_sync_mode(struct snd_bebob *bebob, enum cip_flags *sync_mode)
{
	/* currently this module doesn't support SYT-Match mode */
	enum snd_bebob_clock_type src;
	int err;

	err = snd_bebob_stream_get_clock_src(bebob, &src);
	if (err < 0)
		return err;

	switch (src) {
	case SND_BEBOB_CLOCK_TYPE_INTERNAL:
	case SND_BEBOB_CLOCK_TYPE_EXTERNAL:
		*sync_mode = CIP_SYNC_TO_DEVICE;
		break;
	default:
	case SND_BEBOB_CLOCK_TYPE_SYT:
		*sync_mode = 0;
		break;
	}

	return 0;
}