* Remap pin 0x16 of ASUS ROG G751 to Headphone
@ 2018-10-08 16:07 Håvard
2018-10-09 12:24 ` Takashi Iwai
0 siblings, 1 reply; 3+ messages in thread
From: Håvard @ 2018-10-08 16:07 UTC (permalink / raw)
To: alsa-devel
Hi!
On ASUS ROG G751 laptops the heaphone port is mapped to nothing, causing it
to not function at all. I propose that we add a remap of pin 0x16 to
Headphone in order to prevent this issue, and fix compability with the new
mode=asus-g751.
I don't know how to write patches, but this is what needs adding in
sound/pci/hda/patch_realtek.c:
[ALC668_FIXUP_ASUS_G751_PINS] = {
.type = HDA_FIXUP_PINS,
.v.pins = (const struct hda_pintbl[]) {
{ 0x16, 0x0421101f }, /* HP */
{}
},
},
[ALC668_FIXUP_ASUS_G751] = {
.type = HDA_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
{ 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x4000 },
{}
},
.chained = true,
.chain_id = ALC668_FIXUP_ASUS_G751_PINS
},
And declaring the function earlier.
-Håvard
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Remap pin 0x16 of ASUS ROG G751 to Headphone
2018-10-08 16:07 Remap pin 0x16 of ASUS ROG G751 to Headphone Håvard
@ 2018-10-09 12:24 ` Takashi Iwai
2018-10-09 14:23 ` Takashi Iwai
0 siblings, 1 reply; 3+ messages in thread
From: Takashi Iwai @ 2018-10-09 12:24 UTC (permalink / raw)
To: Håvard; +Cc: alsa-devel
On Mon, 08 Oct 2018 18:07:17 +0200,
Håvard wrote:
>
> Hi!
>
> On ASUS ROG G751 laptops the heaphone port is mapped to nothing, causing it
> to not function at all. I propose that we add a remap of pin 0x16 to
> Headphone in order to prevent this issue, and fix compability with the new
> mode=asus-g751.
>
> I don't know how to write patches, but this is what needs adding in
> sound/pci/hda/patch_realtek.c:
>
> [ALC668_FIXUP_ASUS_G751_PINS] = {
> .type = HDA_FIXUP_PINS,
> .v.pins = (const struct hda_pintbl[]) {
> { 0x16, 0x0421101f }, /* HP */
> {}
> },
> },
> [ALC668_FIXUP_ASUS_G751] = {
> .type = HDA_FIXUP_VERBS,
> .v.verbs = (const struct hda_verb[]) {
> { 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
> { 0x20, AC_VERB_SET_PROC_COEF, 0x4000 },
> {}
> },
> .chained = true,
> .chain_id = ALC668_FIXUP_ASUS_G751_PINS
> },
>
> And declaring the function earlier.
Thanks. I prefer keeping the old COEF as a generic one, so let's move
ALC668_FIXUP_ASUS_G751 with the pin-config fix and chain to a new one
ALC668_FIXUP_MIC_COEF.
The fix patch is below.
Takashi
-- 8< --
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] ALSA: hda - Fix headphone pin config for ASUS G751
BIOS on ASUS G751 doesn't seem to map the headphone pin (NID 0x16)
correctly. Add a quirk to address it, as well as chaining to the
previous fix for the microphone.
Reported-by: Håvard <hovardslill@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/hda/patch_realtek.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 3be7d7649525..b43149f95549 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7738,6 +7738,7 @@ enum {
ALC662_FIXUP_ASUS_Nx50,
ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
ALC668_FIXUP_ASUS_Nx51,
+ ALC668_FIXUP_MIC_COEF,
ALC668_FIXUP_ASUS_G751,
ALC891_FIXUP_HEADSET_MODE,
ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
@@ -8008,7 +8009,7 @@ static const struct hda_fixup alc662_fixups[] = {
.chained = true,
.chain_id = ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
},
- [ALC668_FIXUP_ASUS_G751] = {
+ [ALC668_FIXUP_MIC_COEF] = {
.type = HDA_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
{ 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
@@ -8016,6 +8017,15 @@ static const struct hda_fixup alc662_fixups[] = {
{}
},
},
+ [ALC668_FIXUP_ASUS_G751] = {
+ type = HDA_FIXUP_PINS,
+ .v.pins = (const struct hda_pintbl[]) {
+ { 0x16, 0x0421101f }, /* HP */
+ {}
+ },
+ .chained = true,
+ .chain_id = ALC668_FIXUP_MIC_COEF
+ },
[ALC891_FIXUP_HEADSET_MODE] = {
.type = HDA_FIXUP_FUNC,
.v.func = alc_fixup_headset_mode,
--
2.18.0
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: Remap pin 0x16 of ASUS ROG G751 to Headphone
2018-10-09 12:24 ` Takashi Iwai
@ 2018-10-09 14:23 ` Takashi Iwai
0 siblings, 0 replies; 3+ messages in thread
From: Takashi Iwai @ 2018-10-09 14:23 UTC (permalink / raw)
To: Håvard; +Cc: alsa-devel
On Tue, 09 Oct 2018 14:24:33 +0200,
Takashi Iwai wrote:
>
> On Mon, 08 Oct 2018 18:07:17 +0200,
> Håvard wrote:
> >
> > Hi!
> >
> > On ASUS ROG G751 laptops the heaphone port is mapped to nothing, causing it
> > to not function at all. I propose that we add a remap of pin 0x16 to
> > Headphone in order to prevent this issue, and fix compability with the new
> > mode=asus-g751.
> >
> > I don't know how to write patches, but this is what needs adding in
> > sound/pci/hda/patch_realtek.c:
> >
> > [ALC668_FIXUP_ASUS_G751_PINS] = {
> > .type = HDA_FIXUP_PINS,
> > .v.pins = (const struct hda_pintbl[]) {
> > { 0x16, 0x0421101f }, /* HP */
> > {}
> > },
> > },
> > [ALC668_FIXUP_ASUS_G751] = {
> > .type = HDA_FIXUP_VERBS,
> > .v.verbs = (const struct hda_verb[]) {
> > { 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
> > { 0x20, AC_VERB_SET_PROC_COEF, 0x4000 },
> > {}
> > },
> > .chained = true,
> > .chain_id = ALC668_FIXUP_ASUS_G751_PINS
> > },
> >
> > And declaring the function earlier.
>
> Thanks. I prefer keeping the old COEF as a generic one, so let's move
> ALC668_FIXUP_ASUS_G751 with the pin-config fix and chain to a new one
> ALC668_FIXUP_MIC_COEF.
>
> The fix patch is below.
Actually it contained a typo. The corrected one below.
thanks,
Takashi
-- 8< --
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH v2] ALSA: hda - Fix headphone pin config for ASUS G751
BIOS on ASUS G751 doesn't seem to map the headphone pin (NID 0x16)
correctly. Add a quirk to address it, as well as chaining to the
previous fix for the microphone.
Reported-by: Håvard <hovardslill@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/hda/patch_realtek.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 3be7d7649525..6262d7b07099 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7738,6 +7738,7 @@ enum {
ALC662_FIXUP_ASUS_Nx50,
ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
ALC668_FIXUP_ASUS_Nx51,
+ ALC668_FIXUP_MIC_COEF,
ALC668_FIXUP_ASUS_G751,
ALC891_FIXUP_HEADSET_MODE,
ALC891_FIXUP_DELL_MIC_NO_PRESENCE,
@@ -8008,7 +8009,7 @@ static const struct hda_fixup alc662_fixups[] = {
.chained = true,
.chain_id = ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE,
},
- [ALC668_FIXUP_ASUS_G751] = {
+ [ALC668_FIXUP_MIC_COEF] = {
.type = HDA_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
{ 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
@@ -8016,6 +8017,15 @@ static const struct hda_fixup alc662_fixups[] = {
{}
},
},
+ [ALC668_FIXUP_ASUS_G751] = {
+ .type = HDA_FIXUP_PINS,
+ .v.pins = (const struct hda_pintbl[]) {
+ { 0x16, 0x0421101f }, /* HP */
+ {}
+ },
+ .chained = true,
+ .chain_id = ALC668_FIXUP_MIC_COEF
+ },
[ALC891_FIXUP_HEADSET_MODE] = {
.type = HDA_FIXUP_FUNC,
.v.func = alc_fixup_headset_mode,
--
2.18.0
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-10-09 14:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-08 16:07 Remap pin 0x16 of ASUS ROG G751 to Headphone Håvard
2018-10-09 12:24 ` Takashi Iwai
2018-10-09 14:23 ` Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox