From: hwang4 <hui.wang@canonical.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: alsa-devel@alsa-project.org, kailang@realtek.com, stable@vger.kernel.org
Subject: Re: [PATCH] ALSA: hda - Add a de-pop quirk for some HP machines
Date: Fri, 29 Aug 2014 16:10:04 +0800 [thread overview]
Message-ID: <5400355C.2020107@canonical.com> (raw)
In-Reply-To: <s5hfvgfsoye.wl-tiwai@suse.de>
On 2014年08月29日 16:02, Takashi Iwai wrote:
> At Fri, 29 Aug 2014 15:47:05 +0800,
> Hui Wang wrote:
>> On some HP machines, there will be pop noise when the machine is
>> shutting down, rebooting or booting up from poweroff state.
>>
>> Set EAPD enable only when stream starts can help to fix this
>> problem.
>>
>> [The patch was originally written by Kailang, we tested it and
>> rebased it on latest kernel.]
>>
>> Signed-off-by: Kailang Yang <kailang@realtek.com>
>> Signed-off-by: Hui Wang <hui.wang@canonical.com>
>> ---
>> sound/pci/hda/patch_realtek.c | 55 ++++++++++++++++++++++++++++++++++++++++---
>> 1 file changed, 52 insertions(+), 3 deletions(-)
>>
>> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
>> index 48d6d10..51811a6 100644
>> --- a/sound/pci/hda/patch_realtek.c
>> +++ b/sound/pci/hda/patch_realtek.c
>> @@ -4282,6 +4282,47 @@ static void alc290_fixup_mono_speakers(struct hda_codec *codec,
>> }
>> }
>>
>> +/*
>> + * ALC290 PCM hooks
>> + */
>> +static void alc290_playback_pcm_hook(struct hda_pcm_stream *hinfo,
>> + struct hda_codec *codec,
>> + struct snd_pcm_substream *substream,
>> + int action)
>> +{
>> + int val;
>> +
>> + switch (action) {
>> + case HDA_GEN_PCM_ACT_OPEN:
>> + val = alc_read_coef_idx(codec, 0x4); /* EAPD manual high */
>> + if ((val & 0xc000) != 0xc000)
>> + alc_write_coef_idx(codec, 0x4, val | (1<<14));
>> + break;
>> + }
>> +}
>> +
>> +static void alc290_fixup_pop_noise(struct hda_codec *codec,
>> + const struct hda_fixup *fix, int action)
>> +{
>> + struct alc_spec *spec = codec->spec;
>> + int val;
>> +
>> + switch (action) {
>> + case HDA_FIXUP_ACT_PRE_PROBE:
>> + snd_hda_codec_write(codec, 0x17, 0,
>> + AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT);
> Why do you need this...
>
>> + val = alc_read_coef_idx(codec, 0x4);
>> + if ((val & 0xc000) != 0xc000)
>> + alc_write_coef_idx(codec, 0x4, val | (3<<14)); /* EAPD low */
>> + spec->gen.pcm_playback_hook = alc290_playback_pcm_hook;
>> + break;
>> + case HDA_FIXUP_ACT_INIT:
>> + snd_hda_codec_write(codec, 0x17, 0,
>> + AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT);
> ... and this? There is no explanation about this change.
>
> Also, can't you just set EAPD low in the shutdown callback instead?
Good idea, all will be addressed in the V2.
Thanks,
Hui.
> In your patch, if the machine goes shutdown/reboot while playing a
> stream (or before runtime PM), it's still EAPD high, so the noise
> should be heard, if I understand correctly.
>
>
> Takashi
>
>
next prev parent reply other threads:[~2014-08-29 8:10 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 7:47 [PATCH] ALSA: hda - Add a de-pop quirk for some HP machines Hui Wang
2014-08-29 8:02 ` Takashi Iwai
2014-08-29 8:10 ` hwang4 [this message]
2014-08-29 8:29 ` Kailang
2014-08-29 10:06 ` Takashi Iwai
2014-08-30 2:13 ` [alsa-devel] " Hui Wang
2014-08-29 8:35 ` Kailang
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=5400355C.2020107@canonical.com \
--to=hui.wang@canonical.com \
--cc=alsa-devel@alsa-project.org \
--cc=kailang@realtek.com \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.de \
/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.