[alsa-devel] [PATCH 17/31] HDA patch_via.c: Add second S/PDIF out control for VT1708S and VT1702.

Takashi Iwai tiwai at suse.de
Mon Oct 5 17:14:44 CEST 2009


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 at viatech.com.cn>

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 */
> 


More information about the Alsa-devel mailing list