On Tue, Oct 6, 2009 at 2:03 PM, Takashi Iwai <tiwai@xxxxxxx> wrote: > At Tue, 6 Oct 2009 13:01:42 +0800, > Li Bo wrote: >> >> They are separate S/PDIFs, and in our test, slave SPDIF seems can work >> independently with master SPDIF. I'll do some test later. > > The problem is that master SPDIF will change both master and slaves. > In your implementation, the slave can be used freely only while the > master isn't used. Or, it'll conflict later once when the master is > used. > > > Takashi > Oh I understand, thank you. We'll update this patch to build independent control & substreams for 2nd SPDIF. >> On Mon, Oct 5, 2009 at 11:14 PM, Takashi Iwai <tiwai@xxxxxxx> wrote: >> > At Mon, 5 Oct 2009 22:27:35 +0800, >> > Li Bo wrote: >> >> >> >> [ALSA] HDA VIA: Add second S/PDIF out control for VT1708S and VT1702. >> >> >> >> Signed-off-by: Lydia Wang <lydiawang@xxxxxxxxxxxxxx> >> > >> > The slave SPDIFs are really slaves. They are supposed to have identical >> > SPDIF status bits as the master. So, creating the individual SPDIF status >> > controls is wrong. >> > >> > If they have to be handled separately, we shouldn't use slave SPDIF but >> > create different streams, etc. >> > >> > >> > Takashi >> > >> > >> >> >> >> Index: sound-2.6/sound/pci/hda/patch_via.c >> >> =================================================================== >> >> --- sound-2.6.orig/sound/pci/hda/patch_via.c 2009-10-05 15:10:59.000000000 +0800 >> >> +++ sound-2.6/sound/pci/hda/patch_via.c 2009-10-05 15:11:02.000000000 +0800 >> >> @@ -1265,6 +1265,13 @@ >> >> if (err < 0) >> >> return err; >> >> spec->multiout.share_spdif = 1; >> >> + /* lydia add for second spdif out */ >> >> + if (spec->slave_dig_outs[0]) { >> >> + err = snd_hda_create_spdif_out_ctls(codec, >> >> + spec->slave_dig_outs[0]); >> >> + if (err < 0) >> >> + return err; >> >> + } >> >> } >> >> if (spec->dig_in_nid) { >> >> err = snd_hda_create_spdif_in_ctls(codec, spec->dig_in_nid); >> >> @@ -3127,7 +3134,7 @@ >> >> }; >> >> >> >> static struct hda_pcm_stream vt1708S_pcm_digital_playback = { >> >> - .substreams = 1, >> >> + .substreams = 2, >> >> .channels_min = 2, >> >> .channels_max = 2, >> >> /* NID is set in via_build_pcms */ >> >> >> > >> > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel