From 92c71e1cdd27341444e98eeb4418b5edce6b1c9c Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 14 Nov 2022 11:23:37 +0100 Subject: [PATCH] 6.0-stable patches added patches: alsa-hda-ca0132-add-quirk-for-evga-z390-dark.patch alsa-hda-fix-potential-memleak-in-add_widget_node.patch alsa-hda-hdmi-enable-runtime-pm-for-more-amd-display-audio.patch alsa-hda-realtek-add-positivo-c6300-model-quirk.patch alsa-hda-realtek-add-quirk-for-asus-zenbook-using-cs35l41.patch alsa-usb-audio-add-dsd-support-for-accuphase-dac-60.patch alsa-usb-audio-add-quirk-entry-for-m-audio-micro.patch alsa-usb-audio-yet-more-regression-for-for-the-delayed-card-registration.patch --- ...-ca0132-add-quirk-for-evga-z390-dark.patch | 37 +++++++++ ...potential-memleak-in-add_widget_node.patch | 36 ++++++++ ...untime-pm-for-more-amd-display-audio.patch | 33 ++++++++ ...altek-add-positivo-c6300-model-quirk.patch | 30 +++++++ ...quirk-for-asus-zenbook-using-cs35l41.patch | 31 +++++++ ...add-dsd-support-for-accuphase-dac-60.patch | 32 +++++++ ...io-add-quirk-entry-for-m-audio-micro.patch | 36 ++++++++ ...or-for-the-delayed-card-registration.patch | 83 +++++++++++++++++++ queue-6.0/series | 8 ++ 9 files changed, 326 insertions(+) create mode 100644 queue-6.0/alsa-hda-ca0132-add-quirk-for-evga-z390-dark.patch create mode 100644 queue-6.0/alsa-hda-fix-potential-memleak-in-add_widget_node.patch create mode 100644 queue-6.0/alsa-hda-hdmi-enable-runtime-pm-for-more-amd-display-audio.patch create mode 100644 queue-6.0/alsa-hda-realtek-add-positivo-c6300-model-quirk.patch create mode 100644 queue-6.0/alsa-hda-realtek-add-quirk-for-asus-zenbook-using-cs35l41.patch create mode 100644 queue-6.0/alsa-usb-audio-add-dsd-support-for-accuphase-dac-60.patch create mode 100644 queue-6.0/alsa-usb-audio-add-quirk-entry-for-m-audio-micro.patch create mode 100644 queue-6.0/alsa-usb-audio-yet-more-regression-for-for-the-delayed-card-registration.patch diff --git a/queue-6.0/alsa-hda-ca0132-add-quirk-for-evga-z390-dark.patch b/queue-6.0/alsa-hda-ca0132-add-quirk-for-evga-z390-dark.patch new file mode 100644 index 00000000000..dff4eb3935b --- /dev/null +++ b/queue-6.0/alsa-hda-ca0132-add-quirk-for-evga-z390-dark.patch @@ -0,0 +1,37 @@ +From 0c423e2ffa7edd3f8f9bcf17ce73fa9c7509b99e Mon Sep 17 00:00:00 2001 +From: Xian Wang +Date: Fri, 4 Nov 2022 13:29:13 -0700 +Subject: ALSA: hda/ca0132: add quirk for EVGA Z390 DARK + +From: Xian Wang + +commit 0c423e2ffa7edd3f8f9bcf17ce73fa9c7509b99e upstream. + +The Z390 DARK mainboard uses a CA0132 audio controller. The quirk is +needed to enable surround sound and 3.5mm headphone jack handling in +the front audio connector as well as in the rear of the board when in +stereo mode. + +Page 97 of the linked manual contains instructions to setup the +controller. + +Signed-off-by: Xian Wang +Cc: stable@vger.kernel.org +Link: https://www.evga.com/support/manuals/files/131-CS-E399.pdf +Link: https://lore.kernel.org/r/20221104202913.13904-1-dev@xianwang.io +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_ca0132.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_ca0132.c ++++ b/sound/pci/hda/patch_ca0132.c +@@ -1306,6 +1306,7 @@ static const struct snd_pci_quirk ca0132 + SND_PCI_QUIRK(0x1458, 0xA026, "Gigabyte G1.Sniper Z97", QUIRK_R3DI), + SND_PCI_QUIRK(0x1458, 0xA036, "Gigabyte GA-Z170X-Gaming 7", QUIRK_R3DI), + SND_PCI_QUIRK(0x3842, 0x1038, "EVGA X99 Classified", QUIRK_R3DI), ++ SND_PCI_QUIRK(0x3842, 0x1055, "EVGA Z390 DARK", QUIRK_R3DI), + SND_PCI_QUIRK(0x1102, 0x0013, "Recon3D", QUIRK_R3D), + SND_PCI_QUIRK(0x1102, 0x0018, "Recon3D", QUIRK_R3D), + SND_PCI_QUIRK(0x1102, 0x0051, "Sound Blaster AE-5", QUIRK_AE5), diff --git a/queue-6.0/alsa-hda-fix-potential-memleak-in-add_widget_node.patch b/queue-6.0/alsa-hda-fix-potential-memleak-in-add_widget_node.patch new file mode 100644 index 00000000000..5e7ab98b4d3 --- /dev/null +++ b/queue-6.0/alsa-hda-fix-potential-memleak-in-add_widget_node.patch @@ -0,0 +1,36 @@ +From 9a5523f72bd2b0d66eef3d58810c6eb7b5ffc143 Mon Sep 17 00:00:00 2001 +From: Ye Bin +Date: Thu, 10 Nov 2022 22:45:39 +0800 +Subject: ALSA: hda: fix potential memleak in 'add_widget_node' + +From: Ye Bin + +commit 9a5523f72bd2b0d66eef3d58810c6eb7b5ffc143 upstream. + +As 'kobject_add' may allocated memory for 'kobject->name' when return error. +And in this function, if call 'kobject_add' failed didn't free kobject. +So call 'kobject_put' to recycling resources. + +Signed-off-by: Ye Bin +Cc: +Link: https://lore.kernel.org/r/20221110144539.2989354-1-yebin@huaweicloud.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/hda/hdac_sysfs.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/sound/hda/hdac_sysfs.c ++++ b/sound/hda/hdac_sysfs.c +@@ -346,8 +346,10 @@ static int add_widget_node(struct kobjec + return -ENOMEM; + kobject_init(kobj, &widget_ktype); + err = kobject_add(kobj, parent, "%02x", nid); +- if (err < 0) ++ if (err < 0) { ++ kobject_put(kobj); + return err; ++ } + err = sysfs_create_group(kobj, group); + if (err < 0) { + kobject_put(kobj); diff --git a/queue-6.0/alsa-hda-hdmi-enable-runtime-pm-for-more-amd-display-audio.patch b/queue-6.0/alsa-hda-hdmi-enable-runtime-pm-for-more-amd-display-audio.patch new file mode 100644 index 00000000000..21ae7f387ec --- /dev/null +++ b/queue-6.0/alsa-hda-hdmi-enable-runtime-pm-for-more-amd-display-audio.patch @@ -0,0 +1,33 @@ +From fdcc4c22b7ab20e90b97f8bc6225d876b72b8f16 Mon Sep 17 00:00:00 2001 +From: Evan Quan +Date: Tue, 8 Nov 2022 16:47:46 +0800 +Subject: ALSA: hda/hdmi - enable runtime pm for more AMD display audio + +From: Evan Quan + +commit fdcc4c22b7ab20e90b97f8bc6225d876b72b8f16 upstream. + +We are able to power down the GPU and audio via the GPU driver +so flag these asics as supporting runtime pm. + +Signed-off-by: Evan Quan +Cc: +Link: https://lore.kernel.org/r/20221108084746.583058-1-evan.quan@amd.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/hda_intel.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -2718,6 +2718,9 @@ static const struct pci_device_id azx_id + { PCI_DEVICE(0x1002, 0xab28), + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | + AZX_DCAPS_PM_RUNTIME }, ++ { PCI_DEVICE(0x1002, 0xab30), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | ++ AZX_DCAPS_PM_RUNTIME }, + { PCI_DEVICE(0x1002, 0xab38), + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | + AZX_DCAPS_PM_RUNTIME }, diff --git a/queue-6.0/alsa-hda-realtek-add-positivo-c6300-model-quirk.patch b/queue-6.0/alsa-hda-realtek-add-positivo-c6300-model-quirk.patch new file mode 100644 index 00000000000..fd65e3de4cd --- /dev/null +++ b/queue-6.0/alsa-hda-realtek-add-positivo-c6300-model-quirk.patch @@ -0,0 +1,30 @@ +From 79e28f2ab3440e08f5fbf65648b008341c37b496 Mon Sep 17 00:00:00 2001 +From: Edson Juliano Drosdeck +Date: Wed, 9 Nov 2022 13:17:32 -0400 +Subject: ALSA: hda/realtek: Add Positivo C6300 model quirk + +From: Edson Juliano Drosdeck + +commit 79e28f2ab3440e08f5fbf65648b008341c37b496 upstream. + +Positivo Master C6300 (1849:a233) require quirk for anabling headset-mic + +Signed-off-by: Edson Juliano Drosdeck +Cc: +Link: https://lore.kernel.org/r/20221109171732.5417-1-edson.drosdeck@gmail.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_realtek.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -9619,6 +9619,7 @@ static const struct snd_pci_quirk alc269 + SND_PCI_QUIRK(0x17aa, 0x511f, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), + SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), + SND_PCI_QUIRK(0x1849, 0x1233, "ASRock NUC Box 1100", ALC233_FIXUP_NO_AUDIO_JACK), ++ SND_PCI_QUIRK(0x1849, 0xa233, "Positivo Master C6300", ALC269_FIXUP_HEADSET_MIC), + SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS), + SND_PCI_QUIRK(0x19e5, 0x320f, "Huawei WRT-WX9 ", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1b35, 0x1235, "CZC B20", ALC269_FIXUP_CZC_B20), diff --git a/queue-6.0/alsa-hda-realtek-add-quirk-for-asus-zenbook-using-cs35l41.patch b/queue-6.0/alsa-hda-realtek-add-quirk-for-asus-zenbook-using-cs35l41.patch new file mode 100644 index 00000000000..0685f2c66fb --- /dev/null +++ b/queue-6.0/alsa-hda-realtek-add-quirk-for-asus-zenbook-using-cs35l41.patch @@ -0,0 +1,31 @@ +From 8d06679b25fc6813eb2438fac7fa13f4f3c2ef37 Mon Sep 17 00:00:00 2001 +From: Stefan Binding +Date: Fri, 28 Oct 2022 11:27:42 +0100 +Subject: ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 + +From: Stefan Binding + +commit 8d06679b25fc6813eb2438fac7fa13f4f3c2ef37 upstream. + +This Asus Zenbook laptop use Realtek HDA codec combined with +2xCS35L41 Amplifiers using I2C with Internal Boost. + +Signed-off-by: Stefan Binding +Cc: +Link: https://lore.kernel.org/r/20221028102742.2588687-1-sbinding@opensource.cirrus.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/pci/hda/patch_realtek.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -9414,6 +9414,7 @@ static const struct snd_pci_quirk alc269 + SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401), + SND_PCI_QUIRK(0x1043, 0x1c52, "ASUS Zephyrus G15 2022", ALC289_FIXUP_ASUS_GA401), + SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401), ++ SND_PCI_QUIRK(0x1043, 0x1f12, "ASUS UM5302", ALC287_FIXUP_CS35L41_I2C_2), + SND_PCI_QUIRK(0x1043, 0x1f92, "ASUS ROG Flow X16", ALC289_FIXUP_ASUS_GA401), + SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2), + SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), diff --git a/queue-6.0/alsa-usb-audio-add-dsd-support-for-accuphase-dac-60.patch b/queue-6.0/alsa-usb-audio-add-dsd-support-for-accuphase-dac-60.patch new file mode 100644 index 00000000000..89c2fed5597 --- /dev/null +++ b/queue-6.0/alsa-usb-audio-add-dsd-support-for-accuphase-dac-60.patch @@ -0,0 +1,32 @@ +From 8cbd4725ffff3eface1f5f3397af02acad5b2831 Mon Sep 17 00:00:00 2001 +From: Jussi Laako +Date: Wed, 9 Nov 2022 00:12:41 +0200 +Subject: ALSA: usb-audio: Add DSD support for Accuphase DAC-60 + +From: Jussi Laako + +commit 8cbd4725ffff3eface1f5f3397af02acad5b2831 upstream. + +Accuphase DAC-60 option card supports native DSD up to DSD256, +but doesn't have support for auto-detection. Explicitly enable +DSD support for the correct altsetting. + +Signed-off-by: Jussi Laako +Cc: +Link: https://lore.kernel.org/r/20221108221241.1220878-1-jussi@sonarnerd.net +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/usb/quirks.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/usb/quirks.c ++++ b/sound/usb/quirks.c +@@ -1913,6 +1913,7 @@ u64 snd_usb_interface_dsd_format_quirks( + /* XMOS based USB DACs */ + switch (chip->usb_id) { + case USB_ID(0x1511, 0x0037): /* AURALiC VEGA */ ++ case USB_ID(0x21ed, 0xd75a): /* Accuphase DAC-60 option card */ + case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */ + case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */ + if (fp->altsetting == 2) diff --git a/queue-6.0/alsa-usb-audio-add-quirk-entry-for-m-audio-micro.patch b/queue-6.0/alsa-usb-audio-add-quirk-entry-for-m-audio-micro.patch new file mode 100644 index 00000000000..bf76f6904d6 --- /dev/null +++ b/queue-6.0/alsa-usb-audio-add-quirk-entry-for-m-audio-micro.patch @@ -0,0 +1,36 @@ +From 2f01a612d4758b45f775dbb88a49cf534ba47275 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 8 Nov 2022 15:07:21 +0100 +Subject: ALSA: usb-audio: Add quirk entry for M-Audio Micro + +From: Takashi Iwai + +commit 2f01a612d4758b45f775dbb88a49cf534ba47275 upstream. + +M-Audio Micro (0762:201a) defines the descriptor as vendor-specific, +while the content seems class-compliant. Just overriding the probe +makes the device working. + +Reported-by: Ash Logan +Cc: +Link: https://lore.kernel.org/r/7ecd4417-d860-4773-c1c1-b07433342390@heyquark.com +Link: https://lore.kernel.org/r/20221108140721.24248-1-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/usb/quirks-table.h | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/sound/usb/quirks-table.h ++++ b/sound/usb/quirks-table.h +@@ -2050,6 +2050,10 @@ YAMAHA_DEVICE(0x7010, "UB99"), + } + }, + { ++ /* M-Audio Micro */ ++ USB_DEVICE_VENDOR_SPEC(0x0763, 0x201a), ++}, ++{ + USB_DEVICE_VENDOR_SPEC(0x0763, 0x2030), + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { + /* .vendor_name = "M-Audio", */ diff --git a/queue-6.0/alsa-usb-audio-yet-more-regression-for-for-the-delayed-card-registration.patch b/queue-6.0/alsa-usb-audio-yet-more-regression-for-for-the-delayed-card-registration.patch new file mode 100644 index 00000000000..f33442f311b --- /dev/null +++ b/queue-6.0/alsa-usb-audio-yet-more-regression-for-for-the-delayed-card-registration.patch @@ -0,0 +1,83 @@ +From 971cb608d1c5d95533a43b549bb8ec9637f10043 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Tue, 8 Nov 2022 07:58:23 +0100 +Subject: ALSA: usb-audio: Yet more regression for for the delayed card registration + +From: Takashi Iwai + +commit 971cb608d1c5d95533a43b549bb8ec9637f10043 upstream. + +Although we tried to fix the regression for the recent changes with +the delayed card registration, it doesn't seem covering the all +cases; e.g. on Roland EDIROL M-100FX, where the generic quirk for +Roland devices is applied, it misses the card registration because the +detection of the last interface (apparently for MIDI) fails. + +This patch is an attempt to recover from those failures by calling the +card register also at the error path for the secondary interfaces. +The card register condition is also extended to match with the old +check in the previous patch, too (i.e. the simple check of the +interface number) for catching the probe with errors. + +Fixes: 39efc9c8a973 ("ALSA: usb-audio: Fix last interface check for registration") +Cc: +Link: https://bugzilla.suse.com/show_bug.cgi?id=1205111 +Link: https://lore.kernel.org/r/20221108065824.14418-1-tiwai@suse.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/usb/card.c | 29 ++++++++++++++++++++--------- + 1 file changed, 20 insertions(+), 9 deletions(-) + +--- a/sound/usb/card.c ++++ b/sound/usb/card.c +@@ -742,6 +742,18 @@ get_alias_quirk(struct usb_device *dev, + return NULL; + } + ++/* register card if we reach to the last interface or to the specified ++ * one given via option ++ */ ++static int try_to_register_card(struct snd_usb_audio *chip, int ifnum) ++{ ++ if (check_delayed_register_option(chip) == ifnum || ++ chip->last_iface == ifnum || ++ usb_interface_claimed(usb_ifnum_to_if(chip->dev, chip->last_iface))) ++ return snd_card_register(chip->card); ++ return 0; ++} ++ + /* + * probe the active usb device + * +@@ -880,15 +892,9 @@ static int usb_audio_probe(struct usb_in + chip->need_delayed_register = false; /* clear again */ + } + +- /* register card if we reach to the last interface or to the specified +- * one given via option +- */ +- if (check_delayed_register_option(chip) == ifnum || +- usb_interface_claimed(usb_ifnum_to_if(dev, chip->last_iface))) { +- err = snd_card_register(chip->card); +- if (err < 0) +- goto __error; +- } ++ err = try_to_register_card(chip, ifnum); ++ if (err < 0) ++ goto __error_no_register; + + if (chip->quirk_flags & QUIRK_FLAG_SHARE_MEDIA_DEVICE) { + /* don't want to fail when snd_media_device_create() fails */ +@@ -907,6 +913,11 @@ static int usb_audio_probe(struct usb_in + return 0; + + __error: ++ /* in the case of error in secondary interface, still try to register */ ++ if (chip) ++ try_to_register_card(chip, ifnum); ++ ++ __error_no_register: + if (chip) { + /* chip->active is inside the chip->card object, + * decrement before memory is possibly returned. diff --git a/queue-6.0/series b/queue-6.0/series index d6876486d7e..69eb1dff87c 100644 --- a/queue-6.0/series +++ b/queue-6.0/series @@ -121,3 +121,11 @@ mmc-sdhci-brcmstb-fix-sdhci_reset_all-for-cqhci.patch mmc-sdhci_am654-fix-sdhci_reset_all-for-cqhci.patch mmc-sdhci-tegra-fix-sdhci_reset_all-for-cqhci.patch mmc-sdhci-esdhc-imx-use-the-correct-host-caps-for-mmc_cap_8_bit_data.patch +alsa-hda-hdmi-enable-runtime-pm-for-more-amd-display-audio.patch +alsa-hda-ca0132-add-quirk-for-evga-z390-dark.patch +alsa-hda-fix-potential-memleak-in-add_widget_node.patch +alsa-hda-realtek-add-quirk-for-asus-zenbook-using-cs35l41.patch +alsa-hda-realtek-add-positivo-c6300-model-quirk.patch +alsa-usb-audio-yet-more-regression-for-for-the-delayed-card-registration.patch +alsa-usb-audio-add-quirk-entry-for-m-audio-micro.patch +alsa-usb-audio-add-dsd-support-for-accuphase-dac-60.patch -- 2.47.3