Loading include/sound/soc-topology.h +12 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,8 @@ struct snd_soc_tplg_ops { int io_ops_count; }; #ifdef CONFIG_SND_SOC_TOPOLOGY /* gets a pointer to data from the firmware block header */ static inline const void *snd_soc_tplg_get_data(struct snd_soc_tplg_hdr *hdr) { Loading @@ -165,4 +167,14 @@ int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget *w, const struct snd_soc_tplg_widget_events *events, int num_events, u16 event_type); #else static inline int snd_soc_tplg_component_remove(struct snd_soc_component *comp, u32 index) { return 0; } #endif #endif include/uapi/sound/asoc.h +6 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,12 @@ #include <linux/types.h> #include <sound/asound.h> #ifndef __KERNEL__ #error This API is an early revision and not enabled in the current #error kernel release, it will be enabled in a future kernel version #error with incompatible changes to what is here. #endif /* * Maximum number of channels topology kcontrol can represent. */ Loading sound/pci/hda/patch_conexant.c +22 −1 Original line number Diff line number Diff line Loading @@ -200,12 +200,33 @@ static int cx_auto_init(struct hda_codec *codec) return 0; } #define cx_auto_free snd_hda_gen_free static void cx_auto_reboot_notify(struct hda_codec *codec) { struct conexant_spec *spec = codec->spec; if (codec->core.vendor_id != 0x14f150f2) return; /* Turn the CX20722 codec into D3 to avoid spurious noises from the internal speaker during (and after) reboot */ cx_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, false); snd_hda_codec_set_power_to_all(codec, codec->core.afg, AC_PWRST_D3); snd_hda_codec_write(codec, codec->core.afg, 0, AC_VERB_SET_POWER_STATE, AC_PWRST_D3); } static void cx_auto_free(struct hda_codec *codec) { cx_auto_reboot_notify(codec); snd_hda_gen_free(codec); } static const struct hda_codec_ops cx_auto_patch_ops = { .build_controls = cx_auto_build_controls, .build_pcms = snd_hda_gen_build_pcms, .init = cx_auto_init, .reboot_notify = cx_auto_reboot_notify, .free = cx_auto_free, .unsol_event = snd_hda_jack_unsol_event, #ifdef CONFIG_PM Loading sound/pci/hda/patch_realtek.c +2 −0 Original line number Diff line number Diff line Loading @@ -5190,6 +5190,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC292_FIXUP_DISABLE_AAMIX), SND_PCI_QUIRK(0x1028, 0x06db, "Dell", ALC292_FIXUP_DISABLE_AAMIX), SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), Loading Loading @@ -5291,6 +5292,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x17aa, 0x220c, "Thinkpad T440s", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x220e, "Thinkpad T440p", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2210, "Thinkpad T540p", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2211, "Thinkpad W541", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2212, "Thinkpad T440", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad X240", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), Loading sound/soc/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,9 @@ config SND_SOC_GENERIC_DMAENGINE_PCM bool select SND_DMAENGINE_PCM config SND_SOC_TOPOLOGY bool # All the supported SoCs source "sound/soc/adi/Kconfig" source "sound/soc/atmel/Kconfig" Loading Loading
include/sound/soc-topology.h +12 −0 Original line number Diff line number Diff line Loading @@ -141,6 +141,8 @@ struct snd_soc_tplg_ops { int io_ops_count; }; #ifdef CONFIG_SND_SOC_TOPOLOGY /* gets a pointer to data from the firmware block header */ static inline const void *snd_soc_tplg_get_data(struct snd_soc_tplg_hdr *hdr) { Loading @@ -165,4 +167,14 @@ int snd_soc_tplg_widget_bind_event(struct snd_soc_dapm_widget *w, const struct snd_soc_tplg_widget_events *events, int num_events, u16 event_type); #else static inline int snd_soc_tplg_component_remove(struct snd_soc_component *comp, u32 index) { return 0; } #endif #endif
include/uapi/sound/asoc.h +6 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,12 @@ #include <linux/types.h> #include <sound/asound.h> #ifndef __KERNEL__ #error This API is an early revision and not enabled in the current #error kernel release, it will be enabled in a future kernel version #error with incompatible changes to what is here. #endif /* * Maximum number of channels topology kcontrol can represent. */ Loading
sound/pci/hda/patch_conexant.c +22 −1 Original line number Diff line number Diff line Loading @@ -200,12 +200,33 @@ static int cx_auto_init(struct hda_codec *codec) return 0; } #define cx_auto_free snd_hda_gen_free static void cx_auto_reboot_notify(struct hda_codec *codec) { struct conexant_spec *spec = codec->spec; if (codec->core.vendor_id != 0x14f150f2) return; /* Turn the CX20722 codec into D3 to avoid spurious noises from the internal speaker during (and after) reboot */ cx_auto_turn_eapd(codec, spec->num_eapds, spec->eapds, false); snd_hda_codec_set_power_to_all(codec, codec->core.afg, AC_PWRST_D3); snd_hda_codec_write(codec, codec->core.afg, 0, AC_VERB_SET_POWER_STATE, AC_PWRST_D3); } static void cx_auto_free(struct hda_codec *codec) { cx_auto_reboot_notify(codec); snd_hda_gen_free(codec); } static const struct hda_codec_ops cx_auto_patch_ops = { .build_controls = cx_auto_build_controls, .build_pcms = snd_hda_gen_build_pcms, .init = cx_auto_init, .reboot_notify = cx_auto_reboot_notify, .free = cx_auto_free, .unsol_event = snd_hda_jack_unsol_event, #ifdef CONFIG_PM Loading
sound/pci/hda/patch_realtek.c +2 −0 Original line number Diff line number Diff line Loading @@ -5190,6 +5190,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x1028, 0x06d9, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x06da, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x06de, "Dell", ALC292_FIXUP_DISABLE_AAMIX), SND_PCI_QUIRK(0x1028, 0x06db, "Dell", ALC292_FIXUP_DISABLE_AAMIX), SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), Loading Loading @@ -5291,6 +5292,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { SND_PCI_QUIRK(0x17aa, 0x220c, "Thinkpad T440s", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x220e, "Thinkpad T440p", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2210, "Thinkpad T540p", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2211, "Thinkpad W541", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2212, "Thinkpad T440", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad X240", ALC292_FIXUP_TPT440_DOCK), SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), Loading
sound/soc/Kconfig +3 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,9 @@ config SND_SOC_GENERIC_DMAENGINE_PCM bool select SND_DMAENGINE_PCM config SND_SOC_TOPOLOGY bool # All the supported SoCs source "sound/soc/adi/Kconfig" source "sound/soc/atmel/Kconfig" Loading