summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_local.h
diff options
context:
space:
mode:
authorStephen Warren2011-06-01 19:14:18 +0200
committerTakashi Iwai2011-06-06 12:51:59 +0200
commit74b654c957e901e7596ebc7b9f5a1bea62b20509 (patch)
tree2ae316f1b481c0ad4a84c1caff9b99ca57fe63ba /sound/pci/hda/hda_local.h
parentALSA: hda: Allow multple SPDIF controls per codec (diff)
downloadkernel-qcow2-linux-74b654c957e901e7596ebc7b9f5a1bea62b20509.tar.gz
kernel-qcow2-linux-74b654c957e901e7596ebc7b9f5a1bea62b20509.tar.xz
kernel-qcow2-linux-74b654c957e901e7596ebc7b9f5a1bea62b20509.zip
ALSA: hda: Virtualize SPDIF out controls
The SPDIF output controls apply to converter widgets. A future change will create a PCM device per pin widget, and hence a set of SPDIF output controls per pin widget, for certain HDMI codecs. To support this, we need the ability to virtualize the SPDIF output controls. Specifically: * Controls can be "unassigned" from real hardware when a converter is not used for the PCM the control was created for. * Control puts only write to hardware when they are assigned. * Controls can be "assigned" to real hardware when a converter is picked to support output for a particular PCM. * When a converter is assigned, the hardware is updated to the cached configuration. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_local.h')
-rw-r--r--sound/pci/hda/hda_local.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_local.h b/sound/pci/hda/hda_local.h
index 08ec073444e2..8b88c92826a1 100644
--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -212,7 +212,9 @@ int snd_hda_mixer_bind_tlv(struct snd_kcontrol *kcontrol, int op_flag,
/*
* SPDIF I/O
*/
-int snd_hda_create_spdif_out_ctls(struct hda_codec *codec, hda_nid_t nid);
+int snd_hda_create_spdif_out_ctls(struct hda_codec *codec,
+ hda_nid_t associated_nid,
+ hda_nid_t cvt_nid);
int snd_hda_create_spdif_in_ctls(struct hda_codec *codec, hda_nid_t nid);
/*