[ALSA] hda-codec - Fix connection list parsing

Modules: HDA Codec driver,HDA generic driver

- Fix connection list parsing (with ranged flag).
- Increase the max number of connections
- Introduce widget capabilities cache
- Power up/down widgets at init, suspend and resume

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai
2005-11-21 16:33:22 +01:00
committed by Jaroslav Kysela
parent 1b98ea4791
commit 54d1740315
5 changed files with 141 additions and 71 deletions

View File

@@ -2091,8 +2091,7 @@ static int patch_alc880(struct hda_codec *codec)
if (! spec->adc_nids && spec->input_mux) {
/* check whether NID 0x07 is valid */
unsigned int wcap = snd_hda_param_read(codec, alc880_adc_nids[0],
AC_PAR_AUDIO_WIDGET_CAP);
unsigned int wcap = get_wcaps(codec, alc880_adc_nids[0]);
wcap = (wcap & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; /* get type */
if (wcap != AC_WID_AUD_IN) {
spec->adc_nids = alc880_adc_nids_alt;