]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | From: Takashi Iwai <tiwai@suse.de> |
2 | Subject: ALSA: hda - Add ALC269 fujitsu model | |
3 | Patch-mainline: | |
4 | References: bnc#440626 | |
5 | ||
6 | Added a dedicated quirk model for FSC Amilo with ALC269. | |
7 | The patch is almost same as in sound git tree, but it has a fix | |
8 | for capture mixer setup (missing patch-series in SUSE kernel tree). | |
9 | ||
10 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | |
11 | ||
12 | --- | |
13 | ||
14 | --- | |
15 | Documentation/sound/alsa/ALSA-Configuration.txt | 2 + | |
16 | sound/pci/hda/patch_realtek.c | 29 +++++++++++++++++++++++- | |
17 | 2 files changed, 30 insertions(+), 1 deletion(-) | |
18 | ||
19 | --- a/Documentation/sound/alsa/ALSA-Configuration.txt | |
20 | +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |
21 | @@ -857,6 +857,8 @@ Prior to version 0.9.0rc4 options had a | |
22 | quanta Quanta FL1 | |
23 | eeepc-p703 ASUS Eeepc P703 P900A | |
24 | eeepc-p901 ASUS Eeepc P901 S101 | |
25 | + fujitsu FSC Amilo | |
26 | + auto auto-config reading BIOS (default) | |
27 | ||
28 | ALC662/663 | |
29 | 3stack-dig 3-stack (2-channel) with SPDIF | |
30 | --- a/sound/pci/hda/patch_realtek.c | |
31 | +++ b/sound/pci/hda/patch_realtek.c | |
32 | @@ -130,6 +130,7 @@ enum { | |
33 | ALC269_QUANTA_FL1, | |
34 | ALC269_ASUS_EEEPC_P703, | |
35 | ALC269_ASUS_EEEPC_P901, | |
36 | + ALC269_FUJITSU, | |
37 | ALC269_AUTO, | |
38 | ALC269_MODEL_LAST /* last tag */ | |
39 | }; | |
40 | @@ -1621,6 +1622,7 @@ static const char *alc_slave_vols[] = { | |
41 | "Speaker Playback Volume", | |
42 | "Mono Playback Volume", | |
43 | "Line-Out Playback Volume", | |
44 | + "PCM Playback Volume", | |
45 | NULL, | |
46 | }; | |
47 | ||
48 | @@ -11938,6 +11940,15 @@ static struct snd_kcontrol_new alc269_ca | |
49 | static struct snd_kcontrol_new alc269_epc_capture_mixer[] = { | |
50 | HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), | |
51 | HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT), | |
52 | + HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT), | |
53 | + { } /* end */ | |
54 | +}; | |
55 | + | |
56 | +/* FSC amilo */ | |
57 | +static struct snd_kcontrol_new alc269_fujitsu_mixer[] = { | |
58 | + HDA_CODEC_MUTE("Speaker Playback Switch", 0x14, 0x0, HDA_OUTPUT), | |
59 | + HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT), | |
60 | + HDA_BIND_VOL("PCM Playback Volume", &alc269_epc_bind_vol), | |
61 | { } /* end */ | |
62 | }; | |
63 | ||
64 | @@ -12360,7 +12371,8 @@ static const char *alc269_models[ALC269_ | |
65 | [ALC269_BASIC] = "basic", | |
66 | [ALC269_QUANTA_FL1] = "quanta", | |
67 | [ALC269_ASUS_EEEPC_P703] = "eeepc-p703", | |
68 | - [ALC269_ASUS_EEEPC_P901] = "eeepc-p901" | |
69 | + [ALC269_ASUS_EEEPC_P901] = "eeepc-p901", | |
70 | + [ALC269_FUJITSU] = "fujitsu" | |
71 | }; | |
72 | ||
73 | static struct snd_pci_quirk alc269_cfg_tbl[] = { | |
74 | @@ -12371,6 +12383,7 @@ static struct snd_pci_quirk alc269_cfg_t | |
75 | ALC269_ASUS_EEEPC_P901), | |
76 | SND_PCI_QUIRK(0x1043, 0x834a, "ASUS Eeepc S101", | |
77 | ALC269_ASUS_EEEPC_P901), | |
78 | + SND_PCI_QUIRK(0x1734, 0x115d, "FSC Amilo", ALC269_FUJITSU), | |
79 | {} | |
80 | }; | |
81 | ||
82 | @@ -12423,6 +12436,20 @@ static struct alc_config_preset alc269_p | |
83 | .unsol_event = alc269_eeepc_dmic_unsol_event, | |
84 | .init_hook = alc269_eeepc_dmic_inithook, | |
85 | }, | |
86 | + [ALC269_FUJITSU] = { | |
87 | + .mixers = { alc269_fujitsu_mixer, alc269_beep_mixer, | |
88 | + alc269_epc_capture_mixer }, | |
89 | + .init_verbs = { alc269_init_verbs, | |
90 | + alc269_eeepc_dmic_init_verbs }, | |
91 | + .num_dacs = ARRAY_SIZE(alc269_dac_nids), | |
92 | + .dac_nids = alc269_dac_nids, | |
93 | + .hp_nid = 0x03, | |
94 | + .num_channel_mode = ARRAY_SIZE(alc269_modes), | |
95 | + .channel_mode = alc269_modes, | |
96 | + .input_mux = &alc269_eeepc_dmic_capture_source, | |
97 | + .unsol_event = alc269_eeepc_dmic_unsol_event, | |
98 | + .init_hook = alc269_eeepc_dmic_inithook, | |
99 | + }, | |
100 | }; | |
101 | ||
102 | static int patch_alc269(struct hda_codec *codec) |