aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-02-16 06:47:36 -0500
committerTakashi Iwai <tiwai@suse.de>2012-02-16 06:47:36 -0500
commitc29b3f6dd7798964d77199af4925be72a3a48349 (patch)
tree956502ed7405a4431ba981d2aab126a10c57dbea
parentb1f58085a9c01e8ffab954fd77a45f1143edf34d (diff)
ALSA: hda/realtek - Drop model=fujitsu from ALC260 static quirks
The model works with the auto-parser as is, thus now good to drop. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--Documentation/sound/alsa/HD-Audio-Models.txt1
-rw-r--r--sound/pci/hda/alc260_quirks.c142
2 files changed, 0 insertions, 143 deletions
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt
index e63d5e2ed470..53703392053a 100644
--- a/Documentation/sound/alsa/HD-Audio-Models.txt
+++ b/Documentation/sound/alsa/HD-Audio-Models.txt
@@ -29,7 +29,6 @@ ALC880
29 29
30ALC260 30ALC260
31====== 31======
32 fujitsu Fujitsu S7020
33 basic fixed pin assignment (old default model) 32 basic fixed pin assignment (old default model)
34 test for testing/debugging purpose, almost all controls can 33 test for testing/debugging purpose, almost all controls can
35 adjusted. Appearing only when compiled with 34 adjusted. Appearing only when compiled with
diff --git a/sound/pci/hda/alc260_quirks.c b/sound/pci/hda/alc260_quirks.c
index 94e7a270c5a9..305341f892c5 100644
--- a/sound/pci/hda/alc260_quirks.c
+++ b/sound/pci/hda/alc260_quirks.c
@@ -7,7 +7,6 @@
7enum { 7enum {
8 ALC260_AUTO, 8 ALC260_AUTO,
9 ALC260_BASIC, 9 ALC260_BASIC,
10 ALC260_FUJITSU_S702X,
11#ifdef CONFIG_SND_DEBUG 10#ifdef CONFIG_SND_DEBUG
12 ALC260_TEST, 11 ALC260_TEST,
13#endif 12#endif
@@ -50,33 +49,6 @@ static const struct hda_input_mux alc260_capture_source = {
50 }, 49 },
51}; 50};
52 51
53/* On Fujitsu S702x laptops capture only makes sense from Mic/LineIn jack,
54 * headphone jack and the internal CD lines since these are the only pins at
55 * which audio can appear. For flexibility, also allow the option of
56 * recording the mixer output on the second ADC (ADC0 doesn't have a
57 * connection to the mixer output).
58 */
59static const struct hda_input_mux alc260_fujitsu_capture_sources[2] = {
60 {
61 .num_items = 3,
62 .items = {
63 { "Mic/Line", 0x0 },
64 { "CD", 0x4 },
65 { "Headphone", 0x2 },
66 },
67 },
68 {
69 .num_items = 4,
70 .items = {
71 { "Mic/Line", 0x0 },
72 { "CD", 0x4 },
73 { "Headphone", 0x2 },
74 { "Mixer", 0x5 },
75 },
76 },
77
78};
79
80/* Acer TravelMate(/Extensa/Aspire) notebooks have similar configuration to 52/* Acer TravelMate(/Extensa/Aspire) notebooks have similar configuration to
81 * the Fujitsu S702x, but jacks are marked differently. 53 * the Fujitsu S702x, but jacks are marked differently.
82 */ 54 */
@@ -142,23 +114,6 @@ static const struct snd_kcontrol_new alc260_input_mixer[] = {
142 { } /* end */ 114 { } /* end */
143}; 115};
144 116
145/* Fujitsu S702x series laptops. ALC260 pin usage: Mic/Line jack = 0x12,
146 * HP jack = 0x14, CD audio = 0x16, internal speaker = 0x10.
147 */
148static const struct snd_kcontrol_new alc260_fujitsu_mixer[] = {
149 HDA_CODEC_VOLUME("Headphone Playback Volume", 0x08, 0x0, HDA_OUTPUT),
150 HDA_BIND_MUTE("Headphone Playback Switch", 0x08, 2, HDA_INPUT),
151 ALC_PIN_MODE("Headphone Jack Mode", 0x14, ALC_PIN_DIR_INOUT),
152 HDA_CODEC_VOLUME("CD Playback Volume", 0x07, 0x04, HDA_INPUT),
153 HDA_CODEC_MUTE("CD Playback Switch", 0x07, 0x04, HDA_INPUT),
154 HDA_CODEC_VOLUME("Mic/Line Playback Volume", 0x07, 0x0, HDA_INPUT),
155 HDA_CODEC_MUTE("Mic/Line Playback Switch", 0x07, 0x0, HDA_INPUT),
156 ALC_PIN_MODE("Mic/Line Jack Mode", 0x12, ALC_PIN_DIR_IN),
157 HDA_CODEC_VOLUME("Speaker Playback Volume", 0x09, 0x0, HDA_OUTPUT),
158 HDA_BIND_MUTE("Speaker Playback Switch", 0x09, 2, HDA_INPUT),
159 { } /* end */
160};
161
162/* 117/*
163 * initialization verbs 118 * initialization verbs
164 */ 119 */
@@ -225,89 +180,6 @@ static const struct hda_verb alc260_init_verbs[] = {
225 { } 180 { }
226}; 181};
227 182
228/* Initialisation sequence for ALC260 as configured in Fujitsu S702x
229 * laptops. ALC260 pin usage: Mic/Line jack = 0x12, HP jack = 0x14, CD
230 * audio = 0x16, internal speaker = 0x10.
231 */
232static const struct hda_verb alc260_fujitsu_init_verbs[] = {
233 /* Disable all GPIOs */
234 {0x01, AC_VERB_SET_GPIO_MASK, 0},
235 /* Internal speaker is connected to headphone pin */
236 {0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
237 /* Headphone/Line-out jack connects to Line1 pin; make it an output */
238 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
239 /* Mic/Line-in jack is connected to mic1 pin, so make it an input */
240 {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
241 /* Ensure all other unused pins are disabled and muted. */
242 {0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, 0},
243 {0x0f, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
244 {0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, 0},
245 {0x11, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
246 {0x13, AC_VERB_SET_PIN_WIDGET_CONTROL, 0},
247 {0x13, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
248 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0},
249 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
250
251 /* Disable digital (SPDIF) pins */
252 {0x03, AC_VERB_SET_DIGI_CONVERT_1, 0},
253 {0x06, AC_VERB_SET_DIGI_CONVERT_1, 0},
254
255 /* Ensure Line1 pin widget takes its input from the OUT1 sum bus
256 * when acting as an output.
257 */
258 {0x0d, AC_VERB_SET_CONNECT_SEL, 0},
259
260 /* Start with output sum widgets muted and their output gains at min */
261 {0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
262 {0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
263 {0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
264 {0x09, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
265 {0x09, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
266 {0x09, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
267 {0x0a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
268 {0x0a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
269 {0x0a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_ZERO},
270
271 /* Unmute HP pin widget amp left and right (no equiv mixer ctrl) */
272 {0x10, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
273 /* Unmute Line1 pin widget output buffer since it starts as an output.
274 * If the pin mode is changed by the user the pin mode control will
275 * take care of enabling the pin's input/output buffers as needed.
276 * Therefore there's no need to enable the input buffer at this
277 * stage.
278 */
279 {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
280 /* Unmute input buffer of pin widget used for Line-in (no equiv
281 * mixer ctrl)
282 */
283 {0x12, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
284
285 /* Mute capture amp left and right */
286 {0x04, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
287 /* Set ADC connection select to match default mixer setting - line
288 * in (on mic1 pin)
289 */
290 {0x04, AC_VERB_SET_CONNECT_SEL, 0x00},
291
292 /* Do the same for the second ADC: mute capture input amp and
293 * set ADC connection to line in (on mic1 pin)
294 */
295 {0x05, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)},
296 {0x05, AC_VERB_SET_CONNECT_SEL, 0x00},
297
298 /* Mute all inputs to mixer widget (even unconnected ones) */
299 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, /* mic1 pin */
300 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)}, /* mic2 pin */
301 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(2)}, /* line1 pin */
302 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(3)}, /* line2 pin */
303 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)}, /* CD pin */
304 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(5)}, /* Beep-gen pin */
305 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(6)}, /* Line-out pin */
306 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(7)}, /* HP-pin pin */
307
308 { }
309};
310
311static const struct hda_verb alc260_hp_dc7600_verbs[] = { 183static const struct hda_verb alc260_hp_dc7600_verbs[] = {
312 {0x05, AC_VERB_SET_CONNECT_SEL, 0x01}, 184 {0x05, AC_VERB_SET_CONNECT_SEL, 0x01},
313 {0x15, AC_VERB_SET_CONNECT_SEL, 0x01}, 185 {0x15, AC_VERB_SET_CONNECT_SEL, 0x01},
@@ -515,7 +387,6 @@ static const struct hda_verb alc260_test_init_verbs[] = {
515 */ 387 */
516static const char * const alc260_models[ALC260_MODEL_LAST] = { 388static const char * const alc260_models[ALC260_MODEL_LAST] = {
517 [ALC260_BASIC] = "basic", 389 [ALC260_BASIC] = "basic",
518 [ALC260_FUJITSU_S702X] = "fujitsu",
519#ifdef CONFIG_SND_DEBUG 390#ifdef CONFIG_SND_DEBUG
520 [ALC260_TEST] = "test", 391 [ALC260_TEST] = "test",
521#endif 392#endif
@@ -526,7 +397,6 @@ static const struct snd_pci_quirk alc260_cfg_tbl[] = {
526 SND_PCI_QUIRK(0x104d, 0x81bb, "Sony VAIO", ALC260_BASIC), 397 SND_PCI_QUIRK(0x104d, 0x81bb, "Sony VAIO", ALC260_BASIC),
527 SND_PCI_QUIRK(0x104d, 0x81cc, "Sony VAIO", ALC260_BASIC), 398 SND_PCI_QUIRK(0x104d, 0x81cc, "Sony VAIO", ALC260_BASIC),
528 SND_PCI_QUIRK(0x104d, 0x81cd, "Sony VAIO", ALC260_BASIC), 399 SND_PCI_QUIRK(0x104d, 0x81cd, "Sony VAIO", ALC260_BASIC),
529 SND_PCI_QUIRK(0x10cf, 0x1326, "Fujitsu S702X", ALC260_FUJITSU_S702X),
530 SND_PCI_QUIRK(0x152d, 0x0729, "CTL U553W", ALC260_BASIC), 400 SND_PCI_QUIRK(0x152d, 0x0729, "CTL U553W", ALC260_BASIC),
531 {} 401 {}
532}; 402};
@@ -544,18 +414,6 @@ static const struct alc_config_preset alc260_presets[] = {
544 .channel_mode = alc260_modes, 414 .channel_mode = alc260_modes,
545 .input_mux = &alc260_capture_source, 415 .input_mux = &alc260_capture_source,
546 }, 416 },
547 [ALC260_FUJITSU_S702X] = {
548 .mixers = { alc260_fujitsu_mixer },
549 .init_verbs = { alc260_fujitsu_init_verbs },
550 .num_dacs = ARRAY_SIZE(alc260_dac_nids),
551 .dac_nids = alc260_dac_nids,
552 .num_adc_nids = ARRAY_SIZE(alc260_dual_adc_nids),
553 .adc_nids = alc260_dual_adc_nids,
554 .num_channel_mode = ARRAY_SIZE(alc260_modes),
555 .channel_mode = alc260_modes,
556 .num_mux_defs = ARRAY_SIZE(alc260_fujitsu_capture_sources),
557 .input_mux = alc260_fujitsu_capture_sources,
558 },
559#ifdef CONFIG_SND_DEBUG 417#ifdef CONFIG_SND_DEBUG
560 [ALC260_TEST] = { 418 [ALC260_TEST] = {
561 .mixers = { alc260_test_mixer }, 419 .mixers = { alc260_test_mixer },