On Wed, 28 Aug 2024 22:20:18 +0200,
Terry Cheong wrote:
>
> Lenovo V145 is having phase inverted dmic but simply applying inverted
> dmic fixups does not work. Chaining up verb fixes for ALC283 enables
> inverting dmic fixup to work properly.
>
> Signed-off-by: Terry Cheong <htcheong@xxxxxxxxxxxx>
> ---
> Changes in v2:
> - Corrected description for the patch
> - Link to v1: https://lore.kernel.org/r/20240829-lenovo-v145-fixes-v1-1-133d1e6813b3@xxxxxxxxxxxx
> ---
> sound/pci/hda/patch_realtek.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 588738ce7380..bbda235ea96c 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -7538,6 +7538,7 @@ enum {
> ALC236_FIXUP_HP_GPIO_LED,
> ALC236_FIXUP_HP_MUTE_LED,
> ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF,
> + ALC236_FIXUP_LENOVO_INV_DMIC,
> ALC298_FIXUP_SAMSUNG_AMP,
> ALC298_FIXUP_SAMSUNG_AMP2,
> ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET,
> @@ -9161,6 +9162,12 @@ static const struct hda_fixup alc269_fixups[] = {
> .type = HDA_FIXUP_FUNC,
> .v.func = alc236_fixup_hp_mute_led_micmute_vref,
> },
> + [ALC236_FIXUP_LENOVO_INV_DMIC] = {
> + .type = HDA_FIXUP_FUNC,
> + .v.func = alc_fixup_inv_dmic,
> + .chained = true,
> + .chain_id = ALC283_FIXUP_INT_MIC,
> + },
> [ALC298_FIXUP_SAMSUNG_AMP] = {
> .type = HDA_FIXUP_FUNC,
> .v.func = alc298_fixup_samsung_amp,
> @@ -10707,6 +10714,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x17aa, 0x3855, "Legion 7 16ITHG6", ALC287_FIXUP_LEGION_16ITHG6),
> SND_PCI_QUIRK(0x17aa, 0x3865, "Lenovo 13X", ALC287_FIXUP_CS35L41_I2C_2),
> SND_PCI_QUIRK(0x17aa, 0x3866, "Lenovo 13X", ALC287_FIXUP_CS35L41_I2C_2),
> + SND_PCI_QUIRK(0x17aa, 0x3913, "Lenovo 145", ALC236_FIXUP_LENOVO_INV_DMIC),
> SND_PCI_QUIRK(0x17aa, 0x3869, "Lenovo Yoga7 14IAL7", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN),
> SND_PCI_QUIRK(0x17aa, 0x386e, "Legion Y9000X 2022 IAH7 / Yoga Pro 7 14ARP8", ALC287_FIXUP_LENOVO_14ARP8_LEGION_IAH7),
> SND_PCI_QUIRK(0x17aa, 0x386f, "Legion Pro 7/7i", ALC287_FIXUP_LENOVO_LEGION_7),
The quirk table is sorted in PCI SSID order.
Could you try to put the entry at the right position?
thanks,
Takashi
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]