diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-02-06 08:03:20 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-04-24 06:00:07 -0400 |
commit | 7ba72ba1fe891a94b1e9d506236507e4dc50e872 (patch) | |
tree | 4c3dc43b6fbb1e9a3f28191a38da563e15180e44 /sound/pci/hda/patch_realtek.c | |
parent | 6c4cc3a8ed15aacc06a5fd369639fef633cee2bc (diff) |
[ALSA] hda-intel - Fix PCM device number assignment
In the current scheme, PCM device numbers are assigned incrementally
in the order of codecs. This causes problems when the codec number
is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then
the HDMI becomes the first PCM, which is picked up as the default
output device. Unfortuantely this doesn't work well with normal
setups.
This patch introduced the fixed device numbers for the PCM types,
namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned
according to the corresponding PCM type. After this patch, HDMI will
be always assigned to PCM #3, SPDIF to PCM #1, and the first analog
to PCM #0, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 45e661e42c0b..85ea3f82de19 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -2499,6 +2499,7 @@ static int alc_build_pcms(struct hda_codec *codec) | |||
2499 | codec->num_pcms = 2; | 2499 | codec->num_pcms = 2; |
2500 | info = spec->pcm_rec + 1; | 2500 | info = spec->pcm_rec + 1; |
2501 | info->name = spec->stream_name_digital; | 2501 | info->name = spec->stream_name_digital; |
2502 | info->pcm_type = HDA_PCM_TYPE_SPDIF; | ||
2502 | if (spec->multiout.dig_out_nid && | 2503 | if (spec->multiout.dig_out_nid && |
2503 | spec->stream_digital_playback) { | 2504 | spec->stream_digital_playback) { |
2504 | info->stream[SNDRV_PCM_STREAM_PLAYBACK] = *(spec->stream_digital_playback); | 2505 | info->stream[SNDRV_PCM_STREAM_PLAYBACK] = *(spec->stream_digital_playback); |