2021-05-10 17:17:00

by Elia Devito

[permalink] [raw]
Subject: [PATCH] ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx

Fixup to enable all 4 speaker on HP Spectre x360 15-df0xxx and probably
on similar models.

0x14 pin config override is required to enable all speakers and
alc285-speaker2-to-dac1 fixup to enable volume adjustment.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=189331
Signed-off-by: Elia Devito <[email protected]>
---
sound/pci/hda/patch_realtek.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index b4b71609dff1..be2a5cd2875d 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6542,6 +6542,7 @@ enum {
ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST,
ALC295_FIXUP_ASUS_DACS,
ALC295_FIXUP_HP_OMEN,
+ ALC285_FIXUP_HP_SPECTRE_X360,
};

static const struct hda_fixup alc269_fixups[] = {
@@ -8099,6 +8100,15 @@ static const struct hda_fixup alc269_fixups[] = {
.chained = true,
.chain_id = ALC269_FIXUP_HP_LINE1_MIC1_LED,
},
+ [ALC285_FIXUP_HP_SPECTRE_X360] = {
+ .type = HDA_FIXUP_PINS,
+ .v.pins = (const struct hda_pintbl[]) {
+ { 0x14, 0x90170110 }, /* enable top speaker */
+ {}
+ },
+ .chained = true,
+ .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1,
+ },
};

static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -8278,6 +8288,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x87f4, "HP", ALC287_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x87f5, "HP", ALC287_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x87f7, "HP Spectre x360 14", ALC245_FIXUP_HP_X360_AMP),
+ SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360),
SND_PCI_QUIRK(0x103c, 0x8846, "HP EliteBook 850 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x884c, "HP EliteBook 840 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
SND_PCI_QUIRK(0x103c, 0x8898, "HP EliteBook 845 G8 Notebook PC", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
@@ -8665,6 +8676,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
{.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"},
{.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"},
{.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"},
+ {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"},
{}
};
#define ALC225_STANDARD_PINS \
--
2.31.1


2021-05-11 09:11:25

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx

On Mon, 10 May 2021 19:13:33 +0200,
Elia Devito wrote:
>
> Fixup to enable all 4 speaker on HP Spectre x360 15-df0xxx and probably
> on similar models.
>
> 0x14 pin config override is required to enable all speakers and
> alc285-speaker2-to-dac1 fixup to enable volume adjustment.
>
> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=189331
> Signed-off-by: Elia Devito <[email protected]>

Could you try to put the quirk entry in the PCI SSID order?


thanks,

Takashi

> ---
> sound/pci/hda/patch_realtek.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index b4b71609dff1..be2a5cd2875d 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -6542,6 +6542,7 @@ enum {
> ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST,
> ALC295_FIXUP_ASUS_DACS,
> ALC295_FIXUP_HP_OMEN,
> + ALC285_FIXUP_HP_SPECTRE_X360,
> };
>
> static const struct hda_fixup alc269_fixups[] = {
> @@ -8099,6 +8100,15 @@ static const struct hda_fixup alc269_fixups[] = {
> .chained = true,
> .chain_id = ALC269_FIXUP_HP_LINE1_MIC1_LED,
> },
> + [ALC285_FIXUP_HP_SPECTRE_X360] = {
> + .type = HDA_FIXUP_PINS,
> + .v.pins = (const struct hda_pintbl[]) {
> + { 0x14, 0x90170110 }, /* enable top speaker */
> + {}
> + },
> + .chained = true,
> + .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1,
> + },
> };
>
> static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -8278,6 +8288,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x103c, 0x87f4, "HP", ALC287_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x87f5, "HP", ALC287_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x87f7, "HP Spectre x360 14", ALC245_FIXUP_HP_X360_AMP),
> + SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360),
> SND_PCI_QUIRK(0x103c, 0x8846, "HP EliteBook 850 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x884c, "HP EliteBook 840 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_LED),
> SND_PCI_QUIRK(0x103c, 0x8898, "HP EliteBook 845 G8 Notebook PC", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST),
> @@ -8665,6 +8676,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
> {.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"},
> {.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"},
> {.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"},
> + {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"},
> {}
> };
> #define ALC225_STANDARD_PINS \
> --
> 2.31.1
>

2021-05-11 12:55:46

by Elia Devito

[permalink] [raw]
Subject: [PATCH v2] ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx

Fixup to enable all 4 speaker on HP Spectre x360 15-df0xxx and probably
on similar models.

0x14 pin config override is required to enable all speakers and
alc285-speaker2-to-dac1 fixup to enable volume adjustment.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=189331
Signed-off-by: Elia Devito <[email protected]>
---
v2: Put the quirk entry in the PCI SSID order

sound/pci/hda/patch_realtek.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index b4b71609dff1..3e269de84079 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6542,6 +6542,7 @@ enum {
ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST,
ALC295_FIXUP_ASUS_DACS,
ALC295_FIXUP_HP_OMEN,
+ ALC285_FIXUP_HP_SPECTRE_X360,
};

static const struct hda_fixup alc269_fixups[] = {
@@ -8099,6 +8100,15 @@ static const struct hda_fixup alc269_fixups[] = {
.chained = true,
.chain_id = ALC269_FIXUP_HP_LINE1_MIC1_LED,
},
+ [ALC285_FIXUP_HP_SPECTRE_X360] = {
+ .type = HDA_FIXUP_PINS,
+ .v.pins = (const struct hda_pintbl[]) {
+ { 0x14, 0x90170110 }, /* enable top speaker */
+ {}
+ },
+ .chained = true,
+ .chain_id = ALC285_FIXUP_SPEAKER2_TO_DAC1,
+ },
};

static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -8259,6 +8269,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3),
SND_PCI_QUIRK(0x103c, 0x84da, "HP OMEN dc0019-ur", ALC295_FIXUP_HP_OMEN),
SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3),
+ SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_HP_SPECTRE_X360),
SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED),
SND_PCI_QUIRK(0x103c, 0x86c7, "HP Envy AiO 32", ALC274_FIXUP_HP_ENVY_GPIO),
SND_PCI_QUIRK(0x103c, 0x8724, "HP EliteBook 850 G7", ALC285_FIXUP_HP_GPIO_LED),
@@ -8665,6 +8676,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
{.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"},
{.id = ALC245_FIXUP_HP_X360_AMP, .name = "alc245-hp-x360-amp"},
{.id = ALC295_FIXUP_HP_OMEN, .name = "alc295-hp-omen"},
+ {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"},
{}
};
#define ALC225_STANDARD_PINS \
--
2.31.1

2021-05-11 13:48:58

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH v2] ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx

On Tue, 11 May 2021 14:46:49 +0200,
Elia Devito wrote:
>
> Fixup to enable all 4 speaker on HP Spectre x360 15-df0xxx and probably
> on similar models.
>
> 0x14 pin config override is required to enable all speakers and
> alc285-speaker2-to-dac1 fixup to enable volume adjustment.
>
> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=189331
> Signed-off-by: Elia Devito <[email protected]>
> ---
> v2: Put the quirk entry in the PCI SSID order

Thanks, applied now.


Takashi

2021-05-11 14:55:00

by Elia Devito

[permalink] [raw]
Subject: Re: [PATCH v2] ALSA: hda/realtek: Add fixup for HP Spectre x360 15-df0xxx

Il giorno mar, 11/05/2021 alle 15.45 +0200, Takashi Iwai ha scritto:
> On Tue, 11 May 2021 14:46:49 +0200,
> Elia Devito wrote:
> >
> > Fixup to enable all 4 speaker on HP Spectre x360 15-df0xxx and
> > probably
> > on similar models.
> >
> > 0x14 pin config override is required to enable all speakers and
> > alc285-speaker2-to-dac1 fixup to enable volume adjustment.
> >
> > BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=189331
> > Signed-off-by: Elia Devito <[email protected]>
> > ---
> > v2: Put the quirk entry in the PCI SSID order
>
> Thanks, applied now.
>
>
> Takashi

Thanks for your time.

Elia