Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bab282b9 authored by Vladimir Avdonin's avatar Vladimir Avdonin Committed by Jaroslav Kysela
Browse files

[ALSA] hda-codec - Fix for Acer laptops with ALC883 codec



Patch enables the internal speaker on acer laptops with ALC883.

Signed-off-by: default avatarVladimir Avdonin <vldmrrr@yahoo.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
parent a1c7a7d8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -820,6 +820,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
	  3stack-6ch    3-jack 6-channel
	  3stack-6ch-dig 3-jack 6-channel with SPDIF I/O
	  6stack-dig-demo  6-jack digital for Intel demo board
	  acer		Acer laptops (Travelmate 3012WTMi, Aspire 5600, etc)
	  auto		auto-config reading BIOS (default)

	ALC861/660
+21 −0
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ enum {
	ALC883_3ST_6ch,
	ALC883_6ST_DIG,
	ALC888_DEMO_BOARD,
	ALC883_ACER,
	ALC883_AUTO,
	ALC883_MODEL_LAST,
};
@@ -5069,6 +5070,9 @@ static struct hda_board_config alc883_cfg_tbl[] = {
	{ .pci_subvendor = 0x105b, .pci_subdevice = 0x6668,
	  .config = ALC883_6ST_DIG }, /* Foxconn */
	{ .modelname = "6stack-dig-demo", .config = ALC888_DEMO_BOARD },
	{ .modelname = "acer", .config = ALC883_ACER },
	{ .pci_subvendor = 0x1025, .pci_subdevice = 0/*0x0102*/,
	  .config = ALC883_ACER },
	{ .modelname = "auto", .config = ALC883_AUTO },
	{}
};
@@ -5139,6 +5143,23 @@ static struct alc_config_preset alc883_presets[] = {
		.channel_mode = alc883_sixstack_modes,
		.input_mux = &alc883_capture_source,
	},
	[ALC883_ACER] = {
		.mixers = { alc883_base_mixer,
			    alc883_chmode_mixer },
		/* On TravelMate laptops, GPIO 0 enables the internal speaker
		 * and the headphone jack.  Turn this on and rely on the
		 * standard mute methods whenever the user wants to turn
		 * these outputs off.
		 */
		.init_verbs = { alc883_init_verbs, alc880_gpio1_init_verbs },
		.num_dacs = ARRAY_SIZE(alc883_dac_nids),
		.dac_nids = alc883_dac_nids,
		.num_adc_nids = ARRAY_SIZE(alc883_adc_nids),
		.adc_nids = alc883_adc_nids,
		.num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
		.channel_mode = alc883_3ST_2ch_modes,
		.input_mux = &alc883_capture_source,
	},
};