At Mon, 19 May 2008 01:00:19 +0100, Tony Vroon wrote:
--- sound/pci/hda/patch_realtek.c.orig 2008-05-17 15:07:35.000000000 +0100 +++ sound/pci/hda/patch_realtek.c 2008-05-19 00:43:35.000000000 +0100 @@ -8757,7 +8757,7 @@ }, };
-/* mute/unmute internal speaker according to the hp jack and mute state */ +/* mute/unmute internal speaker according to the hp jacks and mute state */ static void alc262_fujitsu_automute(struct hda_codec *codec, int force) { struct alc_spec *spec = codec->spec; @@ -8765,13 +8765,28 @@
if (force || !spec->sense_updated) { unsigned int present_int_hp, present_dock_hp;
/* need to execute and sync at first */
snd_hda_codec_read(codec, 0x14, 0, AC_VERB_SET_PIN_SENSE, 0); present_int_hp = snd_hda_codec_read(codec, 0x14, 0, AC_VERB_GET_PIN_SENSE, 0);/* sense laptop headphone jack, enable amp if required */
if ((present_int_hp & 0x80000000) != 0)
snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0,
HDA_AMP_MUTE, 0);
else
snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0,
HDA_AMP_MUTE, HDA_AMP_MUTE);
snd_hda_codec_read(codec, 0x1B, 0, AC_VERB_SET_PIN_SENSE, 0); present_dock_hp = snd_hda_codec_read(codec, 0x1b, 0, AC_VERB_GET_PIN_SENSE, 0);/* sense dock headphone jack, enable amp if required */
if ((present_dock_hp & 0x80000000) != 0)
snd_hda_codec_amp_stereo(codec, 0x1b, HDA_OUTPUT, 0,
HDA_AMP_MUTE, 0);
else
snd_hda_codec_amp_stereo(codec, 0x1b, HDA_OUTPUT, 0,
HDA_AMP_MUTE, HDA_AMP_MUTE);
- spec->jack_present = (present_int_hp & 0x80000000) != 0; spec->jack_present |= (present_dock_hp & 0x80000000) != 0; spec->sense_updated = 1;
I get a compile warning, "unused variable mute". Could you fix it?
@@ -8781,10 +8796,9 @@ snd_hda_codec_amp_stereo(codec, 0x15, HDA_OUTPUT, 0, HDA_AMP_MUTE, HDA_AMP_MUTE); } else {
/* unmute internal speaker if necessary */
mute = snd_hda_codec_amp_read(codec, 0x14, 0, HDA_OUTPUT, 0);
Any reason to remove this? Otherwise the internal speaker won't react together with the Master volume.
Maybe a cleaner fix is to remove the bind_sw and bind_vol hacks and use vmaster instead.
thanks,
Takashi