diff options
author | Stephen Warren <swarren@nvidia.com> | 2011-06-01 13:14:18 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-06-06 06:51:59 -0400 |
commit | 74b654c957e901e7596ebc7b9f5a1bea62b20509 (patch) | |
tree | 2ae316f1b481c0ad4a84c1caff9b99ca57fe63ba /sound/pci/hda/hda_codec.h | |
parent | 7c9359762797ba7a70bbaa6364aaecc16786ac83 (diff) |
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_codec.h')
-rw-r--r-- | sound/pci/hda/hda_codec.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 1d21c0624e03..96c35cab57bf 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -954,6 +954,8 @@ struct hda_spdif_out { | |||
954 | }; | 954 | }; |
955 | struct hda_spdif_out *snd_hda_spdif_out_of_nid(struct hda_codec *codec, | 955 | struct hda_spdif_out *snd_hda_spdif_out_of_nid(struct hda_codec *codec, |
956 | hda_nid_t nid); | 956 | hda_nid_t nid); |
957 | void snd_hda_spdif_ctls_unassign(struct hda_codec *codec, int idx); | ||
958 | void snd_hda_spdif_ctls_assign(struct hda_codec *codec, int idx, hda_nid_t nid); | ||
957 | 959 | ||
958 | /* | 960 | /* |
959 | * Mixer | 961 | * Mixer |