]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-alc269-fsc-amilo
Revert "Disable build of xen kernel."
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.drivers / alsa-hda-alc269-fsc-amilo
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)