From: Takashi Iwai <tiwai@suse.de>
To: Alex Riesen <raa.lkml@gmail.com>
Cc: alsa-devel@alsa-project.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: regression: from 3.8 to 3.9: headphones output no sound on Intel HDA, codec VIA VT1802
Date: Fri, 24 May 2013 15:29:10 +0200 [thread overview]
Message-ID: <s5h1u8wtsk9.wl%tiwai@suse.de> (raw)
In-Reply-To: <CALxABCZHwKPDKPsjWJmK=-QzcC3fs2bKqHU0SCUmdH7OqGDNdA@mail.gmail.com>
At Sat, 18 May 2013 22:29:57 +0200,
Alex Riesen wrote:
>
> Sorry for delayed replies. I have not much time for this lately.
>
> On Fri, May 17, 2013 at 8:04 AM, Takashi Iwai <tiwai@suse.de> wrote:
> >> Well... It seems that something went unnoticed. This command seems
> >> to be essential for this (and the revised) patch to get the headphone
> >> output at all:
> >>
> >> hda-verb /dev/snd/hwC0D0 0x25 SET_PIN_WID 0xc0
> >
> > Do you mean that the headphone doesn't work without this even after
> > the patch? It's weird that the alsa-info.sh output you attached below
> > already contains it, i.e. 0x25 showing 0xc0.
>
> Yes. It is after the latest patch.
>
> > Or, is the attached output the result after you ran hda-verb like the
> > above?
>
> Er, yes.
>
> >> It does. And there is no output from the speakers.
> >
> > Hmm. I'm confused. I thought you mentioned that the speaker is
> > unmuted?
>
> I think I am as confused as you, if not more. I redid the tests
> but recorded everything this time with script(1). It is without
> timing information (would be boring anyway, with me figuring
> the arguments), so just cat it. Just in case: it sets xterm title.
> The transcript is in headphone.gz.
>
> > - Use the patched kernel, play without headphone, confirm that the
> > speaker works. Get alsa-info.sh output at this point.
>
> That's 3.9.2-wo-headphone.alsa.gz
>
> > - Plug the headphone, play, and check whether the headphone works and
> > the speaker is muted.
> > Again, get alsa-info.sh output at this point, no matter whether the
> > headphone works or not.
>
> That's 3.9.2-w-headphone.alsa.gz. Headphone not working, speakers
> correctly muted.
>
> > In anyway, if you make things working, please give exactly what you
> > did, and take again alsa-info.sh output, too.
>
> 3.9.2-w-headphone-working.alsa.gz. The working state is lost after
> unplugging and replugging the headphones. It is different to the
> case when the alternate channel is used (Independent HP): replugging
> does not break the output than.
>
> Sorry for confusion and thanks!
Looking at the outputs above, it seems that turning on/off EAPD on VT
codecs triggers the automatic power up/down of the pin, which leads to
the unexpected result.
Could you try the patch below?
thanks,
Takashi
---
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index ae85bbd2..ce5446b 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -788,6 +788,8 @@ static void set_pin_eapd(struct hda_codec *codec, hda_nid_t pin, bool enable)
return;
if (codec->inv_eapd)
enable = !enable;
+ if (spec->keep_eapd_on && !enable)
+ return;
snd_hda_codec_update_cache(codec, pin, 0,
AC_VERB_SET_EAPD_BTLENABLE,
enable ? 0x02 : 0x00);
diff --git a/sound/pci/hda/hda_generic.h b/sound/pci/hda/hda_generic.h
index 54e6651..7620031 100644
--- a/sound/pci/hda/hda_generic.h
+++ b/sound/pci/hda/hda_generic.h
@@ -222,6 +222,7 @@ struct hda_gen_spec {
unsigned int multi_cap_vol:1; /* allow multiple capture xxx volumes */
unsigned int inv_dmic_split:1; /* inverted dmic w/a for conexant */
unsigned int own_eapd_ctl:1; /* set EAPD by own function */
+ unsigned int keep_eapd_on:1; /* don't turn off EAPD automatically */
unsigned int vmaster_mute_enum:1; /* add vmaster mute mode enum */
unsigned int indep_hp:1; /* independent HP supported */
unsigned int prefer_hp_amp:1; /* enable HP amp for speaker if any */
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index e0dadcf..33de744 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -136,6 +136,7 @@ static struct via_spec *via_new_spec(struct hda_codec *codec)
spec->codec_type = VT1708S;
spec->no_pin_power_ctl = 1;
spec->gen.indep_hp = 1;
+ spec->gen.keep_eapd_on = 1;
spec->gen.pcm_playback_hook = via_playback_pcm_hook;
return spec;
}
next prev parent reply other threads:[~2013-05-24 13:28 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-12 9:53 regression: from 3.8 to 3.9: headphones output no sound on Intel HDA, codec VIA VT1802 Alex Riesen
2013-05-12 9:58 ` Fwd: " Alex Riesen
2013-05-13 15:26 ` Takashi Iwai
2013-05-13 15:53 ` Takashi Iwai
2013-05-13 18:24 ` Alex Riesen
2013-05-14 5:59 ` Takashi Iwai
2013-05-14 10:58 ` Takashi Iwai
2013-05-14 19:55 ` Alex Riesen
2013-05-15 5:20 ` Takashi Iwai
2013-05-15 20:17 ` Alex Riesen
2013-05-16 11:00 ` Takashi Iwai
2013-05-16 20:10 ` Alex Riesen
2013-05-17 6:04 ` Takashi Iwai
2013-05-18 20:29 ` Alex Riesen
2013-05-22 21:06 ` Alex Riesen
2013-05-23 16:34 ` Takashi Iwai
2013-05-23 18:38 ` Alex Riesen
2013-05-24 13:29 ` Takashi Iwai [this message]
2013-05-24 16:36 ` Alex Riesen
2013-05-24 17:22 ` Takashi Iwai
2013-05-24 21:32 ` Alex Riesen
2013-05-29 15:42 ` Takashi Iwai
2013-05-31 10:31 ` Alex Riesen
2013-05-31 13:05 ` Takashi Iwai
2013-05-31 15:32 ` Alex Riesen
2013-05-31 18:00 ` Takashi Iwai
2013-05-31 19:36 ` Alex Riesen
2013-06-03 10:05 ` Takashi Iwai
2013-06-03 18:49 ` Alex Riesen
2013-06-04 9:48 ` Takashi Iwai
2013-05-14 19:54 ` Alex Riesen
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=s5h1u8wtsk9.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=alsa-devel@alsa-project.org \
--cc=linux-kernel@vger.kernel.org \
--cc=raa.lkml@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox