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: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
554d8983a0
commit
0577379271
|
@ -171,11 +171,6 @@ pcm_open(struct snd_pcm_substream *substream)
|
||||||
err = snd_bebob_stream_get_clock_src(bebob, &src);
|
err = snd_bebob_stream_get_clock_src(bebob, &src);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
goto err_locked;
|
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,
|
* When source of clock is internal or any PCM stream are running,
|
||||||
|
|
|
@ -474,8 +474,24 @@ destroy_both_connections(struct snd_bebob *bebob)
|
||||||
static int
|
static int
|
||||||
get_sync_mode(struct snd_bebob *bebob, enum cip_flags *sync_mode)
|
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;
|
||||||
*sync_mode = CIP_SYNC_TO_DEVICE;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue