From: Takashi Iwai <tiwai@suse.de>
To: tony@linx.net
Cc: alsa-devel@alsa-project.org
Subject: Re: [ALC262 patch_realtek.c] Fujitsu Lifebook port replicator/dock headphone jack sense
Date: Fri, 14 Mar 2008 14:43:36 +0100 [thread overview]
Message-ID: <s5hy78ls9o7.wl%tiwai@suse.de> (raw)
In-Reply-To: <1205501568.5407.19.camel@localhost>
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;
> + 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 = 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
next prev parent reply other threads:[~2008-03-14 13:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-14 13:32 [ALC262 patch_realtek.c] Fujitsu Lifebook port replicator/dock headphone jack sense Tony Vroon
2008-03-14 13:43 ` Takashi Iwai [this message]
2008-03-14 15:15 ` #2 " Tony Vroon
2008-03-14 16:08 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=s5hy78ls9o7.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=tony@linx.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.