Loading Documentation/sound/alsa/SB-Live-mixer.txt +3 −3 Original line number Original line Diff line number Diff line Loading @@ -87,14 +87,14 @@ accumulator. ALSA uses accumulators 0 and 1 for left and right PCM. The result is forwarded to the ADC capture FIFO (thus to the standard capture The result is forwarded to the ADC capture FIFO (thus to the standard capture PCM device). PCM device). name='Music Playback Volume',index=0 name='Synth Playback Volume',index=0 This control is used to attenuate samples for left and right MIDI FX-bus This control is used to attenuate samples for left and right MIDI FX-bus accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. The result samples are forwarded to the front DAC PCM slots of the AC97 codec. The result samples are forwarded to the front DAC PCM slots of the AC97 codec. name='Music Capture Volume',index=0 name='Synth Capture Volume',index=0 name='Music Capture Switch',index=0 name='Synth Capture Switch',index=0 These controls are used to attenuate samples for left and right MIDI FX-bus These controls are used to attenuate samples for left and right MIDI FX-bus accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. Loading sound/pci/hda/hda_codec.c +4 −0 Original line number Original line Diff line number Diff line Loading @@ -937,6 +937,7 @@ void snd_hda_shutup_pins(struct hda_codec *codec) } } EXPORT_SYMBOL_HDA(snd_hda_shutup_pins); EXPORT_SYMBOL_HDA(snd_hda_shutup_pins); #ifdef SND_HDA_NEEDS_RESUME /* Restore the pin controls cleared previously via snd_hda_shutup_pins() */ /* Restore the pin controls cleared previously via snd_hda_shutup_pins() */ static void restore_shutup_pins(struct hda_codec *codec) static void restore_shutup_pins(struct hda_codec *codec) { { Loading @@ -953,6 +954,7 @@ static void restore_shutup_pins(struct hda_codec *codec) } } codec->pins_shutup = 0; codec->pins_shutup = 0; } } #endif static void init_hda_cache(struct hda_cache_rec *cache, static void init_hda_cache(struct hda_cache_rec *cache, unsigned int record_size); unsigned int record_size); Loading Loading @@ -1329,6 +1331,7 @@ static void purify_inactive_streams(struct hda_codec *codec) } } } } #ifdef SND_HDA_NEEDS_RESUME /* clean up all streams; called from suspend */ /* clean up all streams; called from suspend */ static void hda_cleanup_all_streams(struct hda_codec *codec) static void hda_cleanup_all_streams(struct hda_codec *codec) { { Loading @@ -1340,6 +1343,7 @@ static void hda_cleanup_all_streams(struct hda_codec *codec) really_cleanup_stream(codec, p); really_cleanup_stream(codec, p); } } } } #endif /* /* * amp access functions * amp access functions Loading sound/pci/hda/patch_realtek.c +24 −1 Original line number Original line Diff line number Diff line Loading @@ -14868,6 +14868,23 @@ static void alc269_fixup_hweq(struct hda_codec *codec, alc_write_coef_idx(codec, 0x1e, coef | 0x80); alc_write_coef_idx(codec, 0x1e, coef | 0x80); } } static void alc271_fixup_dmic(struct hda_codec *codec, const struct alc_fixup *fix, int action) { static struct hda_verb verbs[] = { {0x20, AC_VERB_SET_COEF_INDEX, 0x0d}, {0x20, AC_VERB_SET_PROC_COEF, 0x4000}, {} }; unsigned int cfg; if (strcmp(codec->chip_name, "ALC271X")) return; cfg = snd_hda_codec_get_pincfg(codec, 0x12); if (get_defcfg_connect(cfg) == AC_JACK_PORT_FIXED) snd_hda_sequence_write(codec, verbs); } enum { enum { ALC269_FIXUP_SONY_VAIO, ALC269_FIXUP_SONY_VAIO, ALC275_FIXUP_SONY_VAIO_GPIO2, ALC275_FIXUP_SONY_VAIO_GPIO2, Loading @@ -14876,6 +14893,7 @@ enum { ALC269_FIXUP_ASUS_G73JW, ALC269_FIXUP_ASUS_G73JW, ALC269_FIXUP_LENOVO_EAPD, ALC269_FIXUP_LENOVO_EAPD, ALC275_FIXUP_SONY_HWEQ, ALC275_FIXUP_SONY_HWEQ, ALC271_FIXUP_DMIC, }; }; static const struct alc_fixup alc269_fixups[] = { static const struct alc_fixup alc269_fixups[] = { Loading Loading @@ -14929,7 +14947,11 @@ static const struct alc_fixup alc269_fixups[] = { .v.func = alc269_fixup_hweq, .v.func = alc269_fixup_hweq, .chained = true, .chained = true, .chain_id = ALC275_FIXUP_SONY_VAIO_GPIO2 .chain_id = ALC275_FIXUP_SONY_VAIO_GPIO2 } }, [ALC271_FIXUP_DMIC] = { .type = ALC_FIXUP_FUNC, .v.func = alc271_fixup_dmic, }, }; }; static struct snd_pci_quirk alc269_fixup_tbl[] = { static struct snd_pci_quirk alc269_fixup_tbl[] = { Loading @@ -14938,6 +14960,7 @@ static struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC), SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), Loading Loading
Documentation/sound/alsa/SB-Live-mixer.txt +3 −3 Original line number Original line Diff line number Diff line Loading @@ -87,14 +87,14 @@ accumulator. ALSA uses accumulators 0 and 1 for left and right PCM. The result is forwarded to the ADC capture FIFO (thus to the standard capture The result is forwarded to the ADC capture FIFO (thus to the standard capture PCM device). PCM device). name='Music Playback Volume',index=0 name='Synth Playback Volume',index=0 This control is used to attenuate samples for left and right MIDI FX-bus This control is used to attenuate samples for left and right MIDI FX-bus accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples. The result samples are forwarded to the front DAC PCM slots of the AC97 codec. The result samples are forwarded to the front DAC PCM slots of the AC97 codec. name='Music Capture Volume',index=0 name='Synth Capture Volume',index=0 name='Music Capture Switch',index=0 name='Synth Capture Switch',index=0 These controls are used to attenuate samples for left and right MIDI FX-bus These controls are used to attenuate samples for left and right MIDI FX-bus accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. accumulator. ALSA uses accumulators 4 and 5 for left and right PCM. Loading
sound/pci/hda/hda_codec.c +4 −0 Original line number Original line Diff line number Diff line Loading @@ -937,6 +937,7 @@ void snd_hda_shutup_pins(struct hda_codec *codec) } } EXPORT_SYMBOL_HDA(snd_hda_shutup_pins); EXPORT_SYMBOL_HDA(snd_hda_shutup_pins); #ifdef SND_HDA_NEEDS_RESUME /* Restore the pin controls cleared previously via snd_hda_shutup_pins() */ /* Restore the pin controls cleared previously via snd_hda_shutup_pins() */ static void restore_shutup_pins(struct hda_codec *codec) static void restore_shutup_pins(struct hda_codec *codec) { { Loading @@ -953,6 +954,7 @@ static void restore_shutup_pins(struct hda_codec *codec) } } codec->pins_shutup = 0; codec->pins_shutup = 0; } } #endif static void init_hda_cache(struct hda_cache_rec *cache, static void init_hda_cache(struct hda_cache_rec *cache, unsigned int record_size); unsigned int record_size); Loading Loading @@ -1329,6 +1331,7 @@ static void purify_inactive_streams(struct hda_codec *codec) } } } } #ifdef SND_HDA_NEEDS_RESUME /* clean up all streams; called from suspend */ /* clean up all streams; called from suspend */ static void hda_cleanup_all_streams(struct hda_codec *codec) static void hda_cleanup_all_streams(struct hda_codec *codec) { { Loading @@ -1340,6 +1343,7 @@ static void hda_cleanup_all_streams(struct hda_codec *codec) really_cleanup_stream(codec, p); really_cleanup_stream(codec, p); } } } } #endif /* /* * amp access functions * amp access functions Loading
sound/pci/hda/patch_realtek.c +24 −1 Original line number Original line Diff line number Diff line Loading @@ -14868,6 +14868,23 @@ static void alc269_fixup_hweq(struct hda_codec *codec, alc_write_coef_idx(codec, 0x1e, coef | 0x80); alc_write_coef_idx(codec, 0x1e, coef | 0x80); } } static void alc271_fixup_dmic(struct hda_codec *codec, const struct alc_fixup *fix, int action) { static struct hda_verb verbs[] = { {0x20, AC_VERB_SET_COEF_INDEX, 0x0d}, {0x20, AC_VERB_SET_PROC_COEF, 0x4000}, {} }; unsigned int cfg; if (strcmp(codec->chip_name, "ALC271X")) return; cfg = snd_hda_codec_get_pincfg(codec, 0x12); if (get_defcfg_connect(cfg) == AC_JACK_PORT_FIXED) snd_hda_sequence_write(codec, verbs); } enum { enum { ALC269_FIXUP_SONY_VAIO, ALC269_FIXUP_SONY_VAIO, ALC275_FIXUP_SONY_VAIO_GPIO2, ALC275_FIXUP_SONY_VAIO_GPIO2, Loading @@ -14876,6 +14893,7 @@ enum { ALC269_FIXUP_ASUS_G73JW, ALC269_FIXUP_ASUS_G73JW, ALC269_FIXUP_LENOVO_EAPD, ALC269_FIXUP_LENOVO_EAPD, ALC275_FIXUP_SONY_HWEQ, ALC275_FIXUP_SONY_HWEQ, ALC271_FIXUP_DMIC, }; }; static const struct alc_fixup alc269_fixups[] = { static const struct alc_fixup alc269_fixups[] = { Loading Loading @@ -14929,7 +14947,11 @@ static const struct alc_fixup alc269_fixups[] = { .v.func = alc269_fixup_hweq, .v.func = alc269_fixup_hweq, .chained = true, .chained = true, .chain_id = ALC275_FIXUP_SONY_VAIO_GPIO2 .chain_id = ALC275_FIXUP_SONY_VAIO_GPIO2 } }, [ALC271_FIXUP_DMIC] = { .type = ALC_FIXUP_FUNC, .v.func = alc271_fixup_dmic, }, }; }; static struct snd_pci_quirk alc269_fixup_tbl[] = { static struct snd_pci_quirk alc269_fixup_tbl[] = { Loading @@ -14938,6 +14960,7 @@ static struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), SND_PCI_QUIRK(0x104d, 0x9084, "Sony VAIO", ALC275_FIXUP_SONY_HWEQ), SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), SND_PCI_QUIRK_VENDOR(0x104d, "Sony VAIO", ALC269_FIXUP_SONY_VAIO), SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), SND_PCI_QUIRK_VENDOR(0x1025, "Acer Aspire", ALC271_FIXUP_DMIC), SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x20f2, "Thinkpad SL410/510", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x215e, "Thinkpad L512", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), SND_PCI_QUIRK(0x17aa, 0x21b8, "Thinkpad Edge 14", ALC269_FIXUP_SKU_IGNORE), Loading