Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Cc: alsa-devel@alsa-project.org
Subject: Re: [PATCH] ALSA: hda - Disable AA-loopback on ALC668
Date: Wed, 21 May 2014 11:10:49 +0200	[thread overview]
Message-ID: <s5hsio38pk6.wl%tiwai@suse.de> (raw)
In-Reply-To: <7006803.45xCtKetRW@xps13>

At Tue, 20 May 2014 18:58:26 +0200,
Gabriele Mazzotta wrote:
> 
> On Tuesday 20 May 2014 18:06:53, Takashi Iwai <tiwai@suse.de> wrote:
> > At Tue, 20 May 2014 17:59:30 +0200,
> > Gabriele Mazzotta wrote:
> > > 
> > > On Thursday 15 May 2014 21:56:23, Gabriele Mazzotta <gabriele.mzt@gmail.com> 
> > > wrote:
> > > > On Wednesday 14 May 2014 16:31:13, Gabriele Mazzotta 
> > > <gabriele.mzt@gmail.com> wrote:
> > > > I'm sorry, I was wrong. This patch does not help. I'm still trying to
> > > > understand what temporarily fixed the problem, I was quite sure this patch 
> > > did
> > > > it, but all of the sudden the noise came back. I'm still trying to find the
> > > > real cause, but I doubt I'll succeed.
> > > > 
> > > > Regards,
> > > > Gabriele
> > > I have to correct myself again, the first patch I submitted is working, I'm 
> > > sorry. However, it seems that disabling the AA-loopback path is not necessary, 
> > > muting the input 0x0b in node 0x0c (as it was suggested here: 
> > > https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1252733/comments/26) is enough to get rid of the white noise.
> > 
> > This reminds me of a similar problem reported on Sony VAIO.
> >   https://bugzilla.novell.com/show_bug.cgi?id=873704
> > 
> > The codec is different, it's ALC275, though.
> > 
> > > What is the proper way to fix this problem?
> > 
> > Just to be sure: does the mic input itself work correctly?
> 
> Unfortunately, I cannot test it.
> 
> > Maybe the easiest fix would be disabling the aamix, indeed.
> > But you shouldn't apply it generically to ALC668.  I'm sure that it's
> > pretty specific to machines, not codec chips.  So, create a fixup
> > function that matches with your machine instead.
> 
> Yes, you are probably right. All I know is that this bug affect the
> XPS13, XPS12 and XPS15.
> 
> Is the following patch OK?
> ---
> 
> 
> ALSA: hda - White noise fix for XPS13 9333
> 
> Disable the AA-loopback path to get rid of the constant white noise
> that can be heard when headphones are used.
> 
> Signed-off-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>

Looks good, so applied now.  Thanks.


Takashi

> ---
>  sound/pci/hda/patch_realtek.c | 19 ++++++++++++++++++-
>  1 file changed, 18 insertions(+), 1 deletion(-)
> 
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 49e884f..a2c4374 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -3894,6 +3894,16 @@ static void alc_fixup_no_shutup(struct hda_codec *codec,
>         }
>  }
>  
> +static void alc_fixup_disable_aamix(struct hda_codec *codec,
> +                               const struct hda_fixup *fix, int action)
> +{
> +       if (action == HDA_FIXUP_ACT_PRE_PROBE) {
> +               struct alc_spec *spec = codec->spec;
> +               /* Disable AA-loopback as it causes white noise */
> +               spec->gen.mixer_nid = 0;
> +       }
> +}
> +
>  static void alc_fixup_headset_mode_alc668(struct hda_codec *codec,
>                                 const struct hda_fixup *fix, int action)
>  {
> @@ -5313,6 +5323,7 @@ enum {
>         ALC662_FIXUP_BASS_1A,
>         ALC662_FIXUP_BASS_CHMAP,
>         ALC668_FIXUP_AUTO_MUTE,
> +       ALC668_FIXUP_DELL_DISABLE_AAMIX,
>  };
>  
>  static const struct hda_fixup alc662_fixups[] = {
> @@ -5479,6 +5490,12 @@ static const struct hda_fixup alc662_fixups[] = {
>                 .type = HDA_FIXUP_FUNC,
>                 .v.func = alc_fixup_inv_dmic_0x12,
>         },
> +       [ALC668_FIXUP_DELL_DISABLE_AAMIX] = {
> +               .type = HDA_FIXUP_FUNC,
> +               .v.func = alc_fixup_disable_aamix,
> +               .chained = true,
> +               .chain_id = ALC668_FIXUP_DELL_MIC_NO_PRESENCE
> +       },
>         [ALC668_FIXUP_AUTO_MUTE] = {
>                 .type = HDA_FIXUP_FUNC,
>                 .v.func = alc_fixup_auto_mute_via_amp,
> @@ -5539,7 +5556,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
>         SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE),
>         SND_PCI_QUIRK(0x1028, 0x05d8, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
>         SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
> -       SND_PCI_QUIRK(0x1028, 0x060a, "Dell XPS 13", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
> +       SND_PCI_QUIRK(0x1028, 0x060a, "Dell XPS 13", ALC668_FIXUP_DELL_DISABLE_AAMIX),
>         SND_PCI_QUIRK(0x1028, 0x0623, "Dell", ALC668_FIXUP_AUTO_MUTE),
>         SND_PCI_QUIRK(0x1028, 0x0624, "Dell", ALC668_FIXUP_AUTO_MUTE),
>         SND_PCI_QUIRK(0x1028, 0x0625, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
> -- 
> 2.0.0.rc2
> 

      parent reply	other threads:[~2014-05-21  9:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-14 14:31 [PATCH] ALSA: hda - Disable AA-loopback on ALC668 Gabriele Mazzotta
2014-05-15 19:56 ` Gabriele Mazzotta
2014-05-20 15:59   ` Gabriele Mazzotta
2014-05-20 16:06     ` Takashi Iwai
2014-05-20 16:15       ` Takashi Iwai
     [not found]       ` <7006803.45xCtKetRW@xps13>
2014-05-21  9:10         ` Takashi Iwai [this message]

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=s5hsio38pk6.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=gabriele.mzt@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