public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
@ 2022-05-29 22:35 Marios Levogiannis
  2022-05-30  6:22 ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Marios Levogiannis @ 2022-05-29 22:35 UTC (permalink / raw)
  To: Jaroslav Kysela, Takashi Iwai, alsa-devel, linux-kernel
  Cc: Marios Levogiannis

Set microphone pins 0x18 (rear) and 0x19 (front) to VREF_50 to fix the
microphone noise on ASUS TUF B550M-PLUS which uses the ALCS1200A codec.
The initial value was VREF_80.

The same issue is also present on Windows using both the default Windows
driver and all tested Realtek drivers before version 6.0.9049.1. Comparing
Realtek driver 6.0.9049.1 (the first one without the microphone noise) to
Realtek driver 6.0.9047.1 (the last one with the microphone noise)
revealed that the fix is the result of setting pins 0x18 and 0x19 to
VREF_50.

This fix may also work for other boards that have been reported to have
the same microphone issue and use the ALC1150 and ALCS1200A codecs, since
these codecs are similar and the fix in the Realtek driver on Windows is
common for both. However, it is currently enabled only for ASUS TUF
B550M-PLUS as this is the only board that could be tested.
---
 sound/pci/hda/patch_realtek.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 89d610afa..f3ad454b3 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1981,6 +1981,7 @@ enum {
 	ALC1220_FIXUP_CLEVO_PB51ED_PINS,
 	ALC887_FIXUP_ASUS_AUDIO,
 	ALC887_FIXUP_ASUS_HMIC,
+	ALCS1200A_FIXUP_MIC_VREF,
 };
 
 static void alc889_fixup_coef(struct hda_codec *codec,
@@ -2526,6 +2527,14 @@ static const struct hda_fixup alc882_fixups[] = {
 		.chained = true,
 		.chain_id = ALC887_FIXUP_ASUS_AUDIO,
 	},
+	[ALCS1200A_FIXUP_MIC_VREF] = {
+		.type = HDA_FIXUP_PINCTLS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x18, PIN_VREF50 }, /* rear mic */
+			{ 0x19, PIN_VREF50 }, /* front mic */
+			{}
+		}
+	},
 };
 
 static const struct snd_pci_quirk alc882_fixup_tbl[] = {
@@ -2563,6 +2572,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601),
 	SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS),
 	SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3),
+	SND_PCI_QUIRK(0x1043, 0x8797, "ASUS TUF B550M-PLUS", ALCS1200A_FIXUP_MIC_VREF),
 	SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP),
 	SND_PCI_QUIRK(0x104d, 0x9044, "Sony VAIO AiO", ALC882_FIXUP_NO_PRIMARY_HP),
 	SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT),
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
  2022-05-29 22:35 [PATCH] ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS Marios Levogiannis
@ 2022-05-30  6:22 ` Takashi Iwai
  2022-05-30  7:41   ` Marios Levogiannis
  0 siblings, 1 reply; 4+ messages in thread
From: Takashi Iwai @ 2022-05-30  6:22 UTC (permalink / raw)
  To: Marios Levogiannis
  Cc: Jaroslav Kysela, Takashi Iwai, alsa-devel, linux-kernel

On Mon, 30 May 2022 00:35:24 +0200,
Marios Levogiannis wrote:
> 
> Set microphone pins 0x18 (rear) and 0x19 (front) to VREF_50 to fix the
> microphone noise on ASUS TUF B550M-PLUS which uses the ALCS1200A codec.
> The initial value was VREF_80.
> 
> The same issue is also present on Windows using both the default Windows
> driver and all tested Realtek drivers before version 6.0.9049.1. Comparing
> Realtek driver 6.0.9049.1 (the first one without the microphone noise) to
> Realtek driver 6.0.9047.1 (the last one with the microphone noise)
> revealed that the fix is the result of setting pins 0x18 and 0x19 to
> VREF_50.
> 
> This fix may also work for other boards that have been reported to have
> the same microphone issue and use the ALC1150 and ALCS1200A codecs, since
> these codecs are similar and the fix in the Realtek driver on Windows is
> common for both. However, it is currently enabled only for ASUS TUF
> B550M-PLUS as this is the only board that could be tested.

Could you resubmit with your Signed-off-by tag?  It's mandatory.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
  2022-05-30  6:22 ` Takashi Iwai
@ 2022-05-30  7:41   ` Marios Levogiannis
  2022-05-30 12:10     ` Takashi Iwai
  0 siblings, 1 reply; 4+ messages in thread
From: Marios Levogiannis @ 2022-05-30  7:41 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Jaroslav Kysela, alsa-devel, linux-kernel, Marios Levogiannis

Set microphone pins 0x18 (rear) and 0x19 (front) to VREF_50 to fix the
microphone noise on ASUS TUF B550M-PLUS which uses the ALCS1200A codec.
The initial value was VREF_80.

The same issue is also present on Windows using both the default Windows
driver and all tested Realtek drivers before version 6.0.9049.1. Comparing
Realtek driver 6.0.9049.1 (the first one without the microphone noise) to
Realtek driver 6.0.9047.1 (the last one with the microphone noise)
revealed that the fix is the result of setting pins 0x18 and 0x19 to
VREF_50.

This fix may also work for other boards that have been reported to have
the same microphone issue and use the ALC1150 and ALCS1200A codecs, since
these codecs are similar and the fix in the Realtek driver on Windows is
common for both. However, it is currently enabled only for ASUS TUF
B550M-PLUS as this is the only board that could be tested.

Signed-off-by: Marios Levogiannis <marios.levogiannis@gmail.com>
---
 sound/pci/hda/patch_realtek.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 89d610afa..f3ad454b3 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -1981,6 +1981,7 @@ enum {
 	ALC1220_FIXUP_CLEVO_PB51ED_PINS,
 	ALC887_FIXUP_ASUS_AUDIO,
 	ALC887_FIXUP_ASUS_HMIC,
+	ALCS1200A_FIXUP_MIC_VREF,
 };
 
 static void alc889_fixup_coef(struct hda_codec *codec,
@@ -2526,6 +2527,14 @@ static const struct hda_fixup alc882_fixups[] = {
 		.chained = true,
 		.chain_id = ALC887_FIXUP_ASUS_AUDIO,
 	},
+	[ALCS1200A_FIXUP_MIC_VREF] = {
+		.type = HDA_FIXUP_PINCTLS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x18, PIN_VREF50 }, /* rear mic */
+			{ 0x19, PIN_VREF50 }, /* front mic */
+			{}
+		}
+	},
 };
 
 static const struct snd_pci_quirk alc882_fixup_tbl[] = {
@@ -2563,6 +2572,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601),
 	SND_PCI_QUIRK(0x1043, 0x84bc, "ASUS ET2700", ALC887_FIXUP_ASUS_BASS),
 	SND_PCI_QUIRK(0x1043, 0x8691, "ASUS ROG Ranger VIII", ALC882_FIXUP_GPIO3),
+	SND_PCI_QUIRK(0x1043, 0x8797, "ASUS TUF B550M-PLUS", ALCS1200A_FIXUP_MIC_VREF),
 	SND_PCI_QUIRK(0x104d, 0x9043, "Sony Vaio VGC-LN51JGB", ALC882_FIXUP_NO_PRIMARY_HP),
 	SND_PCI_QUIRK(0x104d, 0x9044, "Sony VAIO AiO", ALC882_FIXUP_NO_PRIMARY_HP),
 	SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT),
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
  2022-05-30  7:41   ` Marios Levogiannis
@ 2022-05-30 12:10     ` Takashi Iwai
  0 siblings, 0 replies; 4+ messages in thread
From: Takashi Iwai @ 2022-05-30 12:10 UTC (permalink / raw)
  To: Marios Levogiannis
  Cc: Takashi Iwai, Jaroslav Kysela, alsa-devel, linux-kernel

On Mon, 30 May 2022 09:41:31 +0200,
Marios Levogiannis wrote:
> 
> Set microphone pins 0x18 (rear) and 0x19 (front) to VREF_50 to fix the
> microphone noise on ASUS TUF B550M-PLUS which uses the ALCS1200A codec.
> The initial value was VREF_80.
> 
> The same issue is also present on Windows using both the default Windows
> driver and all tested Realtek drivers before version 6.0.9049.1. Comparing
> Realtek driver 6.0.9049.1 (the first one without the microphone noise) to
> Realtek driver 6.0.9047.1 (the last one with the microphone noise)
> revealed that the fix is the result of setting pins 0x18 and 0x19 to
> VREF_50.
> 
> This fix may also work for other boards that have been reported to have
> the same microphone issue and use the ALC1150 and ALCS1200A codecs, since
> these codecs are similar and the fix in the Realtek driver on Windows is
> common for both. However, it is currently enabled only for ASUS TUF
> B550M-PLUS as this is the only board that could be tested.
> 
> Signed-off-by: Marios Levogiannis <marios.levogiannis@gmail.com>

Thanks, applied now.


Takashi

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-05-30 12:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-29 22:35 [PATCH] ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS Marios Levogiannis
2022-05-30  6:22 ` Takashi Iwai
2022-05-30  7:41   ` Marios Levogiannis
2022-05-30 12:10     ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox