[alsa-devel] [ALC262 patch_realtek.c] Fujitsu Lifebook port replicator/dock headphone jack sense
![](https://secure.gravatar.com/avatar/bcf3a90c0cb3c5b75af25b8b7b7d191b.jpg?s=120&d=mm&r=g)
Good afternoon,
Could you please consider the following patch for the 2.6.26 merge window. The docking station headphone output had no audio and jack sense was not considered.
Jack information from the laptop itself and the dock are combined, as the dock does not obscure the connector.
Signed-Off-By: Tony Vroon tony@linx.net
Regards, Tony V. LINX sysadmin
P.S. Codec graph included in case anyone wants to start using mic jack sense for automated capture source selection.
![](https://secure.gravatar.com/avatar/5b19e9d0e834ea10ef75803718ad564b.jpg?s=120&d=mm&r=g)
At Fri, 14 Mar 2008 13:32:48 +0000, Tony Vroon wrote:
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 33282f9..bbb8b2c 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -8585,7 +8585,7 @@ static void alc262_hippo1_unsol_event(struct hda_codec *codec,
/*
- fujitsu model
- 0x14 = headphone/spdif-out, 0x15 = internal speaker
- 0x14 = headphone/spdif-out, 0x15 = internal speaker, 0x1B = dock headphone out
Please fold the line to fit within 80 chars.
*/
#define ALC_HP_EVENT 0x37 @@ -8593,6 +8593,8 @@ static void alc262_hippo1_unsol_event(struct hda_codec *codec, static struct hda_verb alc262_fujitsu_unsol_verbs[] = { {0x14, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC_HP_EVENT}, {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
- {0x1B, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC_HP_EVENT},
- {0x1B, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
0x1b is preferred to 0x1B.
{} };
@@ -8633,12 +8635,16 @@ static void alc262_fujitsu_automute(struct hda_codec *codec, int force) unsigned int mute;
if (force || !spec->sense_updated) {
unsigned int present;
/* need to execute and sync at first */ snd_hda_codec_read(codec, 0x14, 0, AC_VERB_SET_PIN_SENSE, 0);unsigned int present_int_hp, present_dock_hp;
present = snd_hda_codec_read(codec, 0x14, 0,
present_int_hp = snd_hda_codec_read(codec, 0x14, 0, AC_VERB_GET_PIN_SENSE, 0);
spec->jack_present = (present & 0x80000000) != 0;
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);
spec->jack_present = (present_int_hp & 0x80000000) != 0;
spec->jack_present += (present_dock_hp & 0x80000000) != 0;
This must be "|=". jack_present is a one-bit value and thus overflow.
spec->sense_updated = 1;
} if (spec->jack_present) { @@ -8686,6 +8692,12 @@ static int alc262_fujitsu_master_sw_put(struct snd_kcontrol *kcontrol, change |= snd_hda_codec_amp_update(codec, 0x14, 1, HDA_OUTPUT, 0, HDA_AMP_MUTE, valp[1] ? 0 : HDA_AMP_MUTE);
- change |= snd_hda_codec_amp_update(codec, 0x1B, 0, HDA_OUTPUT, 0,
HDA_AMP_MUTE,
valp[0] ? 0 : HDA_AMP_MUTE);
- change |= snd_hda_codec_amp_update(codec, 0x1B, 1, HDA_OUTPUT, 0,
HDA_AMP_MUTE,
valp[1] ? 0 : HDA_AMP_MUTE);
You can use snd_hda_codec_amp_stereo(). Then it'll be a single call.
Could you fix and repost? Thanks.
Takashi
![](https://secure.gravatar.com/avatar/bcf3a90c0cb3c5b75af25b8b7b7d191b.jpg?s=120&d=mm&r=g)
Good afternoon,
Could you please consider the following patch for the 2.6.26 merge window. The docking station headphone output had no audio and jack sense was not considered.
Jack information from the laptop itself and the dock are combined, as the dock does not obscure the connector. This is version 2 of this patch, incorporating feedback by Takashi Iwai.
Signed-Off-By: Tony Vroon tony@linx.net
Regards, Tony V. LINX sysadmin
![](https://secure.gravatar.com/avatar/5b19e9d0e834ea10ef75803718ad564b.jpg?s=120&d=mm&r=g)
At Fri, 14 Mar 2008 15:15:08 +0000, Tony Vroon wrote:
Good afternoon,
Could you please consider the following patch for the 2.6.26 merge window. The docking station headphone output had no audio and jack sense was not considered.
Jack information from the laptop itself and the dock are combined, as the dock does not obscure the connector. This is version 2 of this patch, incorporating feedback by Takashi Iwai.
Signed-Off-By: Tony Vroon tony@linx.net
Applied to HG tree. Thanks.
Takashi
participants (2)
-
Takashi Iwai
-
Tony Vroon