aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/sound/alsa/ALSA-Configuration.txt2
-rw-r--r--sound/pci/hda/patch_realtek.c29
2 files changed, 30 insertions, 1 deletions
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt
index e0e54a27fc10..fa8e9fadfaf4 100644
--- a/Documentation/sound/alsa/ALSA-Configuration.txt
+++ b/Documentation/sound/alsa/ALSA-Configuration.txt
@@ -857,6 +857,8 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
857 quanta Quanta FL1 857 quanta Quanta FL1
858 eeepc-p703 ASUS Eeepc P703 P900A 858 eeepc-p703 ASUS Eeepc P703 P900A
859 eeepc-p901 ASUS Eeepc P901 S101 859 eeepc-p901 ASUS Eeepc P901 S101
860 fujitsu FSC Amilo
861 auto auto-config reading BIOS (default)
860 862
861 ALC662/663 863 ALC662/663
862 3stack-dig 3-stack (2-channel) with SPDIF 864 3stack-dig 3-stack (2-channel) with SPDIF
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 88e54db0582c..700fc8632c66 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -130,6 +130,7 @@ enum {
130 ALC269_QUANTA_FL1, 130 ALC269_QUANTA_FL1,
131 ALC269_ASUS_EEEPC_P703, 131 ALC269_ASUS_EEEPC_P703,
132 ALC269_ASUS_EEEPC_P901, 132 ALC269_ASUS_EEEPC_P901,
133 ALC269_FUJITSU,
133 ALC269_AUTO, 134 ALC269_AUTO,
134 ALC269_MODEL_LAST /* last tag */ 135 ALC269_MODEL_LAST /* last tag */
135}; 136};
@@ -1726,6 +1727,7 @@ static const char *alc_slave_vols[] = {
1726 "Speaker Playback Volume", 1727 "Speaker Playback Volume",
1727 "Mono Playback Volume", 1728 "Mono Playback Volume",
1728 "Line-Out Playback Volume", 1729 "Line-Out Playback Volume",
1730 "PCM Playback Volume",
1729 NULL, 1731 NULL,
1730}; 1732};
1731 1733
@@ -11662,6 +11664,15 @@ static struct snd_kcontrol_new alc269_eeepc_mixer[] = {
11662static struct snd_kcontrol_new alc269_epc_capture_mixer[] = { 11664static struct snd_kcontrol_new alc269_epc_capture_mixer[] = {
11663 HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), 11665 HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT),
11664 HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT), 11666 HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT),
11667 HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
11668 { } /* end */
11669};
11670
11671/* FSC amilo */
11672static struct snd_kcontrol_new alc269_fujitsu_mixer[] = {
11673 HDA_CODEC_MUTE("Speaker Playback Switch", 0x14, 0x0, HDA_OUTPUT),
11674 HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT),
11675 HDA_BIND_VOL("PCM Playback Volume", &alc269_epc_bind_vol),
11665 { } /* end */ 11676 { } /* end */
11666}; 11677};
11667 11678
@@ -12084,7 +12095,8 @@ static const char *alc269_models[ALC269_MODEL_LAST] = {
12084 [ALC269_BASIC] = "basic", 12095 [ALC269_BASIC] = "basic",
12085 [ALC269_QUANTA_FL1] = "quanta", 12096 [ALC269_QUANTA_FL1] = "quanta",
12086 [ALC269_ASUS_EEEPC_P703] = "eeepc-p703", 12097 [ALC269_ASUS_EEEPC_P703] = "eeepc-p703",
12087 [ALC269_ASUS_EEEPC_P901] = "eeepc-p901" 12098 [ALC269_ASUS_EEEPC_P901] = "eeepc-p901",
12099 [ALC269_FUJITSU] = "fujitsu"
12088}; 12100};
12089 12101
12090static struct snd_pci_quirk alc269_cfg_tbl[] = { 12102static struct snd_pci_quirk alc269_cfg_tbl[] = {
@@ -12095,6 +12107,7 @@ static struct snd_pci_quirk alc269_cfg_tbl[] = {
12095 ALC269_ASUS_EEEPC_P901), 12107 ALC269_ASUS_EEEPC_P901),
12096 SND_PCI_QUIRK(0x1043, 0x834a, "ASUS Eeepc S101", 12108 SND_PCI_QUIRK(0x1043, 0x834a, "ASUS Eeepc S101",
12097 ALC269_ASUS_EEEPC_P901), 12109 ALC269_ASUS_EEEPC_P901),
12110 SND_PCI_QUIRK(0x1734, 0x115d, "FSC Amilo", ALC269_FUJITSU),
12098 {} 12111 {}
12099}; 12112};
12100 12113
@@ -12149,6 +12162,20 @@ static struct alc_config_preset alc269_presets[] = {
12149 .unsol_event = alc269_eeepc_dmic_unsol_event, 12162 .unsol_event = alc269_eeepc_dmic_unsol_event,
12150 .init_hook = alc269_eeepc_dmic_inithook, 12163 .init_hook = alc269_eeepc_dmic_inithook,
12151 }, 12164 },
12165 [ALC269_FUJITSU] = {
12166 .mixers = { alc269_fujitsu_mixer, alc269_beep_mixer },
12167 .cap_mixer = alc269_epc_capture_mixer,
12168 .init_verbs = { alc269_init_verbs,
12169 alc269_eeepc_dmic_init_verbs },
12170 .num_dacs = ARRAY_SIZE(alc269_dac_nids),
12171 .dac_nids = alc269_dac_nids,
12172 .hp_nid = 0x03,
12173 .num_channel_mode = ARRAY_SIZE(alc269_modes),
12174 .channel_mode = alc269_modes,
12175 .input_mux = &alc269_eeepc_dmic_capture_source,
12176 .unsol_event = alc269_eeepc_dmic_unsol_event,
12177 .init_hook = alc269_eeepc_dmic_inithook,
12178 },
12152}; 12179};
12153 12180
12154static int patch_alc269(struct hda_codec *codec) 12181static int patch_alc269(struct hda_codec *codec)