[alsa-devel] ALSA: hda - add speaker and fix headphone switch for ALC883
ALSA: hda - add speaker and fix headphone switch for ALC883
This patch changing "Headphone Playback Switch" from 0x1b to 0x14 (documentation says "Port-D", 3,5 jack) and adding "Speaker Playback Switch" 0x1b (Port-E, LINE2).
Signed-off-by: David Heidelberger d.okias@gmail.com
---
--- a/sound/pci/hda/patch_realtek.c 2009-09-15 14:54:37.067310114 +0200 +++ b/sound/pci/hda/patch_realtek.c 2009-09-15 14:54:43.444437970 +0200 @@ -7979,6 +7979,8 @@ static struct snd_kcontrol_new alc883_base_mixer[] = { HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT), + HDA_CODEC_MUTE("Headphone Playback Switch", 0x14, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE("Speaker Playback Switch", 0x1b, 0x0, HDA_OUTPUT), HDA_CODEC_VOLUME("Surround Playback Volume", 0x0d, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Surround Playback Switch", 0x0d, 2, HDA_INPUT), HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x0e, 1, 0x0, HDA_OUTPUT), @@ -7987,7 +7989,6 @@ HDA_BIND_MUTE_MONO("LFE Playback Switch", 0x0e, 2, 2, HDA_INPUT), HDA_CODEC_VOLUME("Side Playback Volume", 0x0f, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Side Playback Switch", 0x0f, 2, HDA_INPUT), - HDA_CODEC_MUTE("Headphone Playback Switch", 0x1b, 0x0, HDA_OUTPUT), HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT),
ALSA: hda - add speaker and fix headphone switch for ALC883
This patch changing "Headphone Playback Switch" from 0x1b to 0x14 (documentation says "Port-D", 3,5 jack) and adding "Speaker Playback Switch" 0x1b (Port-E, LINE2).
Signed-off-by: David Heidelberger d.okias@gmail.com
---
--- a/sound/pci/hda/patch_realtek.c 2009-09-15 14:54:37.067310114 +0200 +++ b/sound/pci/hda/patch_realtek.c 2009-09-15 14:54:43.444437970 +0200 @@ -7979,6 +7979,8 @@ static struct snd_kcontrol_new alc883_base_mixer[] = { HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT), + HDA_CODEC_MUTE("Headphone Playback Switch", 0x14, 0x0, HDA_OUTPUT), + HDA_CODEC_MUTE("Speaker Playback Switch", 0x1b, 0x0, HDA_OUTPUT), HDA_CODEC_VOLUME("Surround Playback Volume", 0x0d, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Surround Playback Switch", 0x0d, 2, HDA_INPUT), HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x0e, 1, 0x0, HDA_OUTPUT), @@ -7987,7 +7989,6 @@ HDA_BIND_MUTE_MONO("LFE Playback Switch", 0x0e, 2, 2, HDA_INPUT), HDA_CODEC_VOLUME("Side Playback Volume", 0x0f, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Side Playback Switch", 0x0f, 2, HDA_INPUT), - HDA_CODEC_MUTE("Headphone Playback Switch", 0x1b, 0x0, HDA_OUTPUT), HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT),
At Tue, 15 Sep 2009 21:13:00 +0200, okias wrote:
ALSA: hda - add speaker and fix headphone switch for ALC883
This patch changing "Headphone Playback Switch" from 0x1b to 0x14 (documentation says "Port-D", 3,5 jack) and adding "Speaker Playback Switch" 0x1b (Port-E, LINE2).
Signed-off-by: David Heidelberger d.okias@gmail.com
Thanks for the patch. For which machine is this change necessary? Could you give alsa-info.sh output (run with --no-upload option)?
Apart from that your patch is for older codes, it's not good to change alc88*_base_mixer[]. This definition is for the fixed pin design. If it doesn't match with your machine, it means that the quirk is wrong (or the auto-parser is buggy). Better to define the fixed mixer array, and don't change the common definition just for a single model.
Takashi
--- a/sound/pci/hda/patch_realtek.c 2009-09-15 14:54:37.067310114 +0200 +++ b/sound/pci/hda/patch_realtek.c 2009-09-15 14:54:43.444437970 +0200 @@ -7979,6 +7979,8 @@ static struct snd_kcontrol_new alc883_base_mixer[] = { HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT),
- HDA_CODEC_MUTE("Headphone Playback Switch", 0x14, 0x0, HDA_OUTPUT),
- HDA_CODEC_MUTE("Speaker Playback Switch", 0x1b, 0x0, HDA_OUTPUT),
HDA_CODEC_VOLUME("Surround Playback Volume", 0x0d, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Surround Playback Switch", 0x0d, 2, HDA_INPUT), HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x0e, 1, 0x0, HDA_OUTPUT), @@ -7987,7 +7989,6 @@ HDA_BIND_MUTE_MONO("LFE Playback Switch", 0x0e, 2, 2, HDA_INPUT), HDA_CODEC_VOLUME("Side Playback Volume", 0x0f, 0x0, HDA_OUTPUT), HDA_BIND_MUTE("Side Playback Switch", 0x0f, 2, HDA_INPUT),
- HDA_CODEC_MUTE("Headphone Playback Switch", 0x1b, 0x0, HDA_OUTPUT),
HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT), [2 alc883_speaker-headphone_fix.patch <application/octet-stream (base64)>]
[3 <text/plain; us-ascii (7bit)>] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
participants (2)
-
okias
-
Takashi Iwai