[alsa-devel] [PATCH] ALSA: hda - Disable AA-loopback on ALC668
Disable the AA-loopback path to get rid of the constant white noise that can be heard when headphones are used.
This patch was tested only on a Dell XPS13 9333.
Fix based on d2e92709e88d ("ALSA: hda - Disable AA-loopback on ALC283 Chromebook").
Signed-off-by: Gabriele Mazzotta gabriele.mzt@gmail.com --- sound/pci/hda/patch_realtek.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 5f7c765..21c94e4 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5690,6 +5690,13 @@ static int patch_alc662(struct hda_codec *codec) if (has_cdefine_beep(codec)) spec->gen.beep_nid = 0x01;
+ switch (codec->vendor_id) { + case 0x10ec0668: + /* Disable AA-loopback as it causes white noise */ + spec->gen.mixer_nid = 0; + break; + } + if ((alc_get_coef0(codec) & (1 << 14)) && codec->bus->pci && codec->bus->pci->subsystem_vendor == 0x1025 && spec->cdefine.platform_type == 1) {
On Wednesday 14 May 2014 16:31:13, Gabriele Mazzotta gabriele.mzt@gmail.com wrote:
Disable the AA-loopback path to get rid of the constant white noise that can be heard when headphones are used.
This patch was tested only on a Dell XPS13 9333.
Fix based on d2e92709e88d ("ALSA: hda - Disable AA-loopback on ALC283 Chromebook").
Signed-off-by: Gabriele Mazzotta gabriele.mzt@gmail.com
sound/pci/hda/patch_realtek.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 5f7c765..21c94e4 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -5690,6 +5690,13 @@ static int patch_alc662(struct hda_codec *codec) if (has_cdefine_beep(codec)) spec->gen.beep_nid = 0x01;
- switch (codec->vendor_id) {
- case 0x10ec0668:
/* Disable AA-loopback as it causes white noise */
spec->gen.mixer_nid = 0;
break;
- }
- if ((alc_get_coef0(codec) & (1 << 14)) && codec->bus->pci && codec->bus->pci->subsystem_vendor == 0x1025 && spec->cdefine.platform_type == 1) {
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
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/...) is enough to get rid of the white noise.
What is the proper way to fix this problem?
Regards,
Gabriele
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/...) 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?
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.
Takashi
At Tue, 20 May 2014 18:06:53 +0200, Takashi Iwai 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/...) 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?
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.
Or, another hackish solution is to override the connection list of the mixer widget. Point the item to another (e.g. non-existing) node, so that the parser won't pick it up.
For this (and even with your patch to disable aamix completely), the fixup should have a static init verb to mute this mixer input.
Takashi
participants (2)
-
Gabriele Mazzotta
-
Takashi Iwai