Messages in this thread | | | Date | Fri, 30 Jun 2023 10:27:47 +0200 | From | Takashi Iwai <> | Subject | Re: [PATCH v2] ALSA: hda/realtek: Add quirks for Unis H3C Desktop B760 & Q760 |
| |
On Fri, 30 Jun 2023 06:12:43 +0200, dengxiang wrote: > > These models use NSIWAY amplifiers for internal speaker, but cannot put > sound outside from these amplifiers. So eapd verbs are needed to initialize > the amplifiers. They can be added during boot to get working sound out > of internal speaker. > > Reported-by: kernel test robot <lkp@intel.com> > Closes: https://lore.kernel.org/oe-kbuild-all/202306291229.5w2tIZjA-lkp@xxxxxxxxx/ > > --- > v2: > - remove warning about unused variable 'spec' as belows: > > Signed-off-by: dengxiang <dengxiang@nfschina.com> > --- > sound/pci/hda/patch_realtek.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c > index afe8253f9a4f..82f53af2d08a 100644 > --- a/sound/pci/hda/patch_realtek.c > +++ b/sound/pci/hda/patch_realtek.c > @@ -11201,6 +11201,20 @@ static void alc897_fixup_lenovo_headset_mode(struct hda_codec *codec, > } > } > > +static const struct hda_verb alc897_unis_h3c_x500s_eapd_verbs[] = { > + {0x14, AC_VERB_SET_EAPD_BTLENABLE, 0}, > + { } > +}; > + > +static void alc897_fixup_unis_h3c_x500s(struct hda_codec *codec, > + const struct hda_fixup *fix, int action) > +{ > + if (action != HDA_FIXUP_ACT_PRE_PROBE) > + return; > + > + snd_hda_add_verbs(codec, alc897_unis_h3c_x500s_eapd_verbs); > +} > + > static const struct coef_fw alc668_coefs[] = { > WRITE_COEF(0x01, 0xbebe), WRITE_COEF(0x02, 0xaaaa), WRITE_COEF(0x03, 0x0), > WRITE_COEF(0x04, 0x0180), WRITE_COEF(0x06, 0x0), WRITE_COEF(0x07, 0x0f80), > @@ -11286,6 +11300,7 @@ enum { > ALC897_FIXUP_HP_HSMIC_VERB, > ALC897_FIXUP_LENOVO_HEADSET_MODE, > ALC897_FIXUP_HEADSET_MIC_PIN2, > + ALC897_FIXUP_UNIS_H3C_X500s, > }; > > static const struct hda_fixup alc662_fixups[] = { > @@ -11725,6 +11740,10 @@ static const struct hda_fixup alc662_fixups[] = { > .chained = true, > .chain_id = ALC897_FIXUP_LENOVO_HEADSET_MODE > }, > + [ALC897_FIXUP_UNIS_H3C_X500s] = { > + .type = HDA_FIXUP_FUNC, > + .v.func = alc897_fixup_unis_h3c_x500s,
If it's only about verbs, it can be embedded here like:
[ALC897_FIXUP_UNIS_H3C_X500s] = { .type = HDA_FIXUP_FUNC, .v.verbs = (const struct hda_verb[]) { { 0x14, AC_VERB_SET_EAPD_BTLENABLE, 0 }, {} }, },
Also, try to keep the capital letters for ALC_* enums.
thanks,
Takashi
| |