]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.5-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Oct 2023 18:05:45 +0000 (20:05 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Oct 2023 18:05:45 +0000 (20:05 +0200)
added patches:
alsa-hda-cs35l41-cleanup-and-fix-double-free-in-firmware-request.patch
alsa-hda-realtek-change-model-for-intel-rvp-board.patch
alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch
alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch
arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch
asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch
asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch
asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch
asoc-intel-soc-acpi-fix-dell-sku-0b34.patch
asoc-intel-sof_sdw-add-support-for-sku-0b14.patch
asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch
asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch
dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch
irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch
keys-trusted-remove-redundant-static-calls-usage.patch

16 files changed:
queue-6.5/alsa-hda-cs35l41-cleanup-and-fix-double-free-in-firmware-request.patch [new file with mode: 0644]
queue-6.5/alsa-hda-realtek-change-model-for-intel-rvp-board.patch [new file with mode: 0644]
queue-6.5/alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch [new file with mode: 0644]
queue-6.5/alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch [new file with mode: 0644]
queue-6.5/arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch [new file with mode: 0644]
queue-6.5/asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch [new file with mode: 0644]
queue-6.5/asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch [new file with mode: 0644]
queue-6.5/asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch [new file with mode: 0644]
queue-6.5/asoc-intel-soc-acpi-fix-dell-sku-0b34.patch [new file with mode: 0644]
queue-6.5/asoc-intel-sof_sdw-add-support-for-sku-0b14.patch [new file with mode: 0644]
queue-6.5/asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch [new file with mode: 0644]
queue-6.5/asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch [new file with mode: 0644]
queue-6.5/dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch [new file with mode: 0644]
queue-6.5/irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch [new file with mode: 0644]
queue-6.5/keys-trusted-remove-redundant-static-calls-usage.patch [new file with mode: 0644]
queue-6.5/series

diff --git a/queue-6.5/alsa-hda-cs35l41-cleanup-and-fix-double-free-in-firmware-request.patch b/queue-6.5/alsa-hda-cs35l41-cleanup-and-fix-double-free-in-firmware-request.patch
new file mode 100644 (file)
index 0000000..b3f0ebe
--- /dev/null
@@ -0,0 +1,202 @@
+From 5d542b850d40cb08a38ad4bb2a944dbf1b7b0683 Mon Sep 17 00:00:00 2001
+From: Stefan Binding <sbinding@opensource.cirrus.com>
+Date: Tue, 3 Oct 2023 15:21:38 +0100
+Subject: ALSA: hda: cs35l41: Cleanup and fix double free in firmware request
+
+From: Stefan Binding <sbinding@opensource.cirrus.com>
+
+commit 5d542b850d40cb08a38ad4bb2a944dbf1b7b0683 upstream.
+
+There is an unlikely but possible double free when loading firmware,
+and a missing free calls if a firmware is successfully requested but
+the coefficient file request fails, leading to the fallback firmware
+request occurring without clearing the previously loaded firmware.
+
+Fixes: cd40dad2ca91 ("ALSA: hda: cs35l41: Ensure firmware/tuning pairs are always loaded")
+Reported-by: kernel test robot <lkp@intel.com>
+Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
+Closes: https://lore.kernel.org/r/202309291331.0JUUQnPT-lkp@intel.com/
+Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
+Link: https://lore.kernel.org/r/20231003142138.180108-1-sbinding@opensource.cirrus.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/pci/hda/cs35l41_hda.c |  115 ++++++++++++++++++++++++++++++--------------
+ 1 file changed, 79 insertions(+), 36 deletions(-)
+
+--- a/sound/pci/hda/cs35l41_hda.c
++++ b/sound/pci/hda/cs35l41_hda.c
+@@ -178,10 +178,14 @@ static int cs35l41_request_firmware_file
+                                           cs35l41->speaker_id, "wmfw");
+       if (!ret) {
+               /* try cirrus/part-dspN-fwtype-sub<-spkidN><-ampname>.bin */
+-              return cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename,
+-                                                   CS35L41_FIRMWARE_ROOT,
+-                                                   cs35l41->acpi_subsystem_id, cs35l41->amp_name,
+-                                                   cs35l41->speaker_id, "bin");
++              ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename,
++                                                  CS35L41_FIRMWARE_ROOT,
++                                                  cs35l41->acpi_subsystem_id, cs35l41->amp_name,
++                                                  cs35l41->speaker_id, "bin");
++              if (ret)
++                      goto coeff_err;
++
++              return 0;
+       }
+       /* try cirrus/part-dspN-fwtype-sub<-ampname>.wmfw */
+@@ -190,10 +194,14 @@ static int cs35l41_request_firmware_file
+                                           cs35l41->amp_name, -1, "wmfw");
+       if (!ret) {
+               /* try cirrus/part-dspN-fwtype-sub<-spkidN><-ampname>.bin */
+-              return cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename,
+-                                                   CS35L41_FIRMWARE_ROOT,
+-                                                   cs35l41->acpi_subsystem_id, cs35l41->amp_name,
+-                                                   cs35l41->speaker_id, "bin");
++              ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename,
++                                                  CS35L41_FIRMWARE_ROOT,
++                                                  cs35l41->acpi_subsystem_id, cs35l41->amp_name,
++                                                  cs35l41->speaker_id, "bin");
++              if (ret)
++                      goto coeff_err;
++
++              return 0;
+       }
+       /* try cirrus/part-dspN-fwtype-sub<-spkidN>.wmfw */
+@@ -208,10 +216,14 @@ static int cs35l41_request_firmware_file
+                                                   cs35l41->amp_name, cs35l41->speaker_id, "bin");
+               if (ret)
+                       /* try cirrus/part-dspN-fwtype-sub<-spkidN>.bin */
+-                      return cs35l41_request_firmware_file(cs35l41, coeff_firmware,
+-                                                           coeff_filename, CS35L41_FIRMWARE_ROOT,
+-                                                           cs35l41->acpi_subsystem_id, NULL,
+-                                                           cs35l41->speaker_id, "bin");
++                      ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware,
++                                                          coeff_filename, CS35L41_FIRMWARE_ROOT,
++                                                          cs35l41->acpi_subsystem_id, NULL,
++                                                          cs35l41->speaker_id, "bin");
++              if (ret)
++                      goto coeff_err;
++
++              return 0;
+       }
+       /* try cirrus/part-dspN-fwtype-sub.wmfw */
+@@ -226,13 +238,51 @@ static int cs35l41_request_firmware_file
+                                                   cs35l41->speaker_id, "bin");
+               if (ret)
+                       /* try cirrus/part-dspN-fwtype-sub<-spkidN>.bin */
+-                      return cs35l41_request_firmware_file(cs35l41, coeff_firmware,
+-                                                           coeff_filename, CS35L41_FIRMWARE_ROOT,
+-                                                           cs35l41->acpi_subsystem_id, NULL,
+-                                                           cs35l41->speaker_id, "bin");
++                      ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware,
++                                                          coeff_filename, CS35L41_FIRMWARE_ROOT,
++                                                          cs35l41->acpi_subsystem_id, NULL,
++                                                          cs35l41->speaker_id, "bin");
++              if (ret)
++                      goto coeff_err;
+       }
+       return ret;
++coeff_err:
++      release_firmware(*wmfw_firmware);
++      kfree(*wmfw_filename);
++      return ret;
++}
++
++static int cs35l41_fallback_firmware_file(struct cs35l41_hda *cs35l41,
++                                        const struct firmware **wmfw_firmware,
++                                        char **wmfw_filename,
++                                        const struct firmware **coeff_firmware,
++                                        char **coeff_filename)
++{
++      int ret;
++
++      /* Handle fallback */
++      dev_warn(cs35l41->dev, "Falling back to default firmware.\n");
++
++      /* fallback try cirrus/part-dspN-fwtype.wmfw */
++      ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename,
++                                          CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "wmfw");
++      if (ret)
++              goto err;
++
++      /* fallback try cirrus/part-dspN-fwtype.bin */
++      ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename,
++                                          CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "bin");
++      if (ret) {
++              release_firmware(*wmfw_firmware);
++              kfree(*wmfw_filename);
++              goto err;
++      }
++      return 0;
++
++err:
++      dev_warn(cs35l41->dev, "Unable to find firmware and tuning\n");
++      return ret;
+ }
+ static int cs35l41_request_firmware_files(struct cs35l41_hda *cs35l41,
+@@ -247,7 +297,6 @@ static int cs35l41_request_firmware_file
+               ret = cs35l41_request_firmware_files_spkid(cs35l41, wmfw_firmware, wmfw_filename,
+                                                          coeff_firmware, coeff_filename);
+               goto out;
+-
+       }
+       /* try cirrus/part-dspN-fwtype-sub<-ampname>.wmfw */
+@@ -260,6 +309,9 @@ static int cs35l41_request_firmware_file
+                                                   CS35L41_FIRMWARE_ROOT,
+                                                   cs35l41->acpi_subsystem_id, cs35l41->amp_name,
+                                                   -1, "bin");
++              if (ret)
++                      goto coeff_err;
++
+               goto out;
+       }
+@@ -279,32 +331,23 @@ static int cs35l41_request_firmware_file
+                                                           CS35L41_FIRMWARE_ROOT,
+                                                           cs35l41->acpi_subsystem_id, NULL, -1,
+                                                           "bin");
++              if (ret)
++                      goto coeff_err;
+       }
+ out:
+-      if (!ret)
+-              return 0;
++      if (ret)
++              /* if all attempts at finding firmware fail, try fallback */
++              goto fallback;
+-      /* Handle fallback */
+-      dev_warn(cs35l41->dev, "Falling back to default firmware.\n");
++      return 0;
++coeff_err:
+       release_firmware(*wmfw_firmware);
+       kfree(*wmfw_filename);
+-
+-      /* fallback try cirrus/part-dspN-fwtype.wmfw */
+-      ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename,
+-                                          CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "wmfw");
+-      if (!ret)
+-              /* fallback try cirrus/part-dspN-fwtype.bin */
+-              ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename,
+-                                                  CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "bin");
+-
+-      if (ret) {
+-              release_firmware(*wmfw_firmware);
+-              kfree(*wmfw_filename);
+-              dev_warn(cs35l41->dev, "Unable to find firmware and tuning\n");
+-      }
+-      return ret;
++fallback:
++      return cs35l41_fallback_firmware_file(cs35l41, wmfw_firmware, wmfw_filename,
++                                            coeff_firmware, coeff_filename);
+ }
+ #if IS_ENABLED(CONFIG_EFI)
diff --git a/queue-6.5/alsa-hda-realtek-change-model-for-intel-rvp-board.patch b/queue-6.5/alsa-hda-realtek-change-model-for-intel-rvp-board.patch
new file mode 100644 (file)
index 0000000..a86f412
--- /dev/null
@@ -0,0 +1,41 @@
+From ccbd88be057a38531f835e8a04948ebf80cb0c5d Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Fri, 6 Oct 2023 14:47:37 +0800
+Subject: ALSA: hda/realtek: Change model for Intel RVP board
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit ccbd88be057a38531f835e8a04948ebf80cb0c5d upstream.
+
+Intel RVP board (0x12cc) has Headset Mic issue for reboot.
+If system plugged headset when system reboot the headset Mic was gone.
+
+Fixes: 1a93f10c5b12 ("ALSA: hda/realtek: Add "Intel Reference board" and "NUC 13" SSID in the ALC256")
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Link: https://lore.kernel.org/r/28112f54c0c6496f97ac845645bc0256@realtek.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/pci/hda/patch_realtek.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -9720,7 +9720,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x10ec, 0x124c, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
+       SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
+       SND_PCI_QUIRK(0x10ec, 0x1254, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
+-      SND_PCI_QUIRK(0x10ec, 0x12cc, "Intel Reference board", ALC225_FIXUP_HEADSET_JACK),
++      SND_PCI_QUIRK(0x10ec, 0x12cc, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
+       SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-SZ6", ALC269_FIXUP_HEADSET_MODE),
+       SND_PCI_QUIRK(0x144d, 0xc109, "Samsung Ativ book 9 (NP900X3G)", ALC269_FIXUP_INV_DMIC),
+       SND_PCI_QUIRK(0x144d, 0xc169, "Samsung Notebook 9 Pen (NP930SBE-K01US)", ALC298_FIXUP_SAMSUNG_AMP),
+@@ -9943,7 +9943,7 @@ static const struct snd_pci_quirk alc269
+       SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC),
+       SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
+       SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10),
+-      SND_PCI_QUIRK(0x8086, 0x3038, "Intel NUC 13", ALC225_FIXUP_HEADSET_JACK),
++      SND_PCI_QUIRK(0x8086, 0x3038, "Intel NUC 13", ALC295_FIXUP_CHROME_BOOK),
+       SND_PCI_QUIRK(0xf111, 0x0001, "Framework Laptop", ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE),
+ #if 0
diff --git a/queue-6.5/alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch b/queue-6.5/alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch
new file mode 100644 (file)
index 0000000..df12f50
--- /dev/null
@@ -0,0 +1,135 @@
+From 4a63e68a295187ae3c1cb3fa0c583c96a959714f Mon Sep 17 00:00:00 2001
+From: Christos Skevis <xristos.thes@gmail.com>
+Date: Fri, 6 Oct 2023 17:53:30 +0200
+Subject: ALSA: usb-audio: Fix microphone sound on Nexigo webcam.
+
+From: Christos Skevis <xristos.thes@gmail.com>
+
+commit 4a63e68a295187ae3c1cb3fa0c583c96a959714f upstream.
+
+I own an external usb Webcam, model NexiGo N930AF, which had low mic volume and
+inconsistent sound quality. Video works as expected.
+
+(snip)
+[  +0.047857] usb 5-1: new high-speed USB device number 2 using xhci_hcd
+[  +0.003406] usb 5-1: New USB device found, idVendor=1bcf, idProduct=2283, bcdDevice=12.17
+[  +0.000007] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
+[  +0.000004] usb 5-1: Product: NexiGo N930AF FHD Webcam
+[  +0.000003] usb 5-1: Manufacturer: SHENZHEN AONI ELECTRONIC CO., LTD
+[  +0.000004] usb 5-1: SerialNumber: 20201217011
+[  +0.003900] usb 5-1: Found UVC 1.00 device NexiGo N930AF FHD Webcam (1bcf:2283)
+[  +0.025726] usb 5-1: 3:1: cannot get usb sound sample rate freq at ep 0x86
+[  +0.071482] usb 5-1: 3:2: cannot get usb sound sample rate freq at ep 0x86
+[  +0.004679] usb 5-1: 3:3: cannot get usb sound sample rate freq at ep 0x86
+[  +0.051607] usb 5-1: Warning! Unlikely big volume range (=4096), cval->res is probably wrong.
+[  +0.000005] usb 5-1: [7] FU [Mic Capture Volume] ch = 1, val = 0/4096/1
+
+Set up quirk cval->res to 16 for 256 levels,
+Set GET_SAMPLE_RATE quirk flag to stop trying to get the sample rate.
+Confirmed that happened anyway later due to the backoff mechanism, after 3 failures
+
+All audio stream on device interfaces share the same values,
+apart from wMaxPacketSize and tSamFreq :
+
+(snip)
+Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        3
+      bAlternateSetting       3
+      bNumEndpoints           1
+      bInterfaceClass         1 Audio
+      bInterfaceSubClass      2 Streaming
+      bInterfaceProtocol      0
+      iInterface              0
+      AudioStreaming Interface Descriptor:
+        bLength                 7
+        bDescriptorType        36
+        bDescriptorSubtype      1 (AS_GENERAL)
+        bTerminalLink           8
+        bDelay                  1 frames
+        wFormatTag         0x0001 PCM
+      AudioStreaming Interface Descriptor:
+        bLength                11
+        bDescriptorType        36
+        bDescriptorSubtype      2 (FORMAT_TYPE)
+        bFormatType             1 (FORMAT_TYPE_I)
+        bNrChannels             1
+        bSubframeSize           2
+        bBitResolution         16
+        bSamFreqType            1 Discrete
+        tSamFreq[ 0]        44100
+      Endpoint Descriptor:
+        bLength                 9
+        bDescriptorType         5
+        bEndpointAddress     0x86  EP 6 IN
+        bmAttributes            5
+          Transfer Type            Isochronous
+          Synch Type               Asynchronous
+          Usage Type               Data
+        wMaxPacketSize     0x005c  1x 92 bytes
+        bInterval               4
+        bRefresh                0
+        bSynchAddress           0
+        AudioStreaming Endpoint Descriptor:
+          bLength                 7
+          bDescriptorType        37
+          bDescriptorSubtype      1 (EP_GENERAL)
+          bmAttributes         0x01
+            Sampling Frequency
+          bLockDelayUnits         0 Undefined
+          wLockDelay         0x0000
+(snip)
+
+Based on the usb data about manufacturer, SPCA2281B3 is the most likely controller IC
+Manufacturer does not provide link for datasheet nor detailed specs.
+No way to confirm if the firmware supports any other way of getting the sample rate.
+
+Testing patch provides consistent good sound recording quality and volume range.
+
+(snip)
+[  +0.045764] usb 5-1: new high-speed USB device number 2 using xhci_hcd
+[  +0.106290] usb 5-1: New USB device found, idVendor=1bcf, idProduct=2283, bcdDevice=12.17
+[  +0.000006] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
+[  +0.000004] usb 5-1: Product: NexiGo N930AF FHD Webcam
+[  +0.000003] usb 5-1: Manufacturer: SHENZHEN AONI ELECTRONIC CO., LTD
+[  +0.000004] usb 5-1: SerialNumber: 20201217011
+[  +0.043700] usb 5-1: set resolution quirk: cval->res = 16
+[  +0.002585] usb 5-1: Found UVC 1.00 device NexiGo N930AF FHD Webcam (1bcf:2283)
+
+Signed-off-by: Christos Skevis <xristos.thes@gmail.com>
+Link: https://lore.kernel.org/r/20231006155330.399393-1-xristos.thes@gmail.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/usb/mixer.c  |    7 +++++++
+ sound/usb/quirks.c |    2 ++
+ 2 files changed, 9 insertions(+)
+
+--- a/sound/usb/mixer.c
++++ b/sound/usb/mixer.c
+@@ -1204,6 +1204,13 @@ static void volume_control_quirks(struct
+                       cval->res = 16;
+               }
+               break;
++      case USB_ID(0x1bcf, 0x2283): /* NexiGo N930AF FHD Webcam */
++              if (!strcmp(kctl->id.name, "Mic Capture Volume")) {
++                      usb_audio_info(chip,
++                              "set resolution quirk: cval->res = 16\n");
++                      cval->res = 16;
++              }
++              break;
+       }
+ }
+--- a/sound/usb/quirks.c
++++ b/sound/usb/quirks.c
+@@ -2177,6 +2177,8 @@ static const struct usb_audio_quirk_flag
+                  QUIRK_FLAG_FIXED_RATE),
+       DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */
+                  QUIRK_FLAG_FIXED_RATE),
++      DEVICE_FLG(0x1bcf, 0x2283, /* NexiGo N930AF FHD Webcam */
++                 QUIRK_FLAG_GET_SAMPLE_RATE),
+       /* Vendor matches */
+       VENDOR_FLG(0x045e, /* MS Lifecam */
diff --git a/queue-6.5/alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch b/queue-6.5/alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch
new file mode 100644 (file)
index 0000000..10ff633
--- /dev/null
@@ -0,0 +1,43 @@
+From 6a83d6f3bb3c329a73e3483651fb77b78bac1878 Mon Sep 17 00:00:00 2001
+From: WhaleChang <whalechang@google.com>
+Date: Fri, 6 Oct 2023 12:48:49 +0800
+Subject: ALSA: usb-audio: Fix microphone sound on Opencomm2 Headset
+
+From: WhaleChang <whalechang@google.com>
+
+commit 6a83d6f3bb3c329a73e3483651fb77b78bac1878 upstream.
+
+When a Opencomm2 Headset is connected to a Bluetooth USB dongle,
+the audio playback functions properly, but the microphone does not work.
+
+In the dmesg logs, there are messages indicating that the init_pitch
+function fails when the capture process begins.
+
+The microphone only functions when the ep pitch control is not set.
+
+Toggling the pitch control off bypasses the init_piatch function
+and allows the microphone to work.
+
+Signed-off-by: WhaleChang <whalechang@google.com>
+Link: https://lore.kernel.org/r/20231006044852.4181022-1-whalechang@google.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/usb/quirks.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/sound/usb/quirks.c
++++ b/sound/usb/quirks.c
+@@ -1994,7 +1994,11 @@ void snd_usb_audioformat_attributes_quir
+               /* mic works only when ep packet size is set to wMaxPacketSize */
+               fp->attributes |= UAC_EP_CS_ATTR_FILL_MAX;
+               break;
+-
++      case USB_ID(0x3511, 0x2b1e): /* Opencomm2 UC USB Bluetooth dongle */
++              /* mic works only when ep pitch control is not set */
++              if (stream == SNDRV_PCM_STREAM_CAPTURE)
++                      fp->attributes &= ~UAC_EP_CS_ATTR_PITCH_CONTROL;
++              break;
+       }
+ }
diff --git a/queue-6.5/arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch b/queue-6.5/arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch
new file mode 100644 (file)
index 0000000..d1cede3
--- /dev/null
@@ -0,0 +1,35 @@
+From cf5716acbfc6190b3f97f4614affdf5991aed7b2 Mon Sep 17 00:00:00 2001
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Date: Tue, 5 Sep 2023 15:19:26 +0200
+Subject: arm64: dts: qcom: sm8150: extend the size of the PDC resource
+
+From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+
+commit cf5716acbfc6190b3f97f4614affdf5991aed7b2 upstream.
+
+Follow the example of other platforms and extend the PDC resource region
+to 0x30000, so that the PDC driver can read the PDC_VERSION register.
+
+Fixes: 397ad94668c1 ("arm64: dts: qcom: sm8150: Add pdc interrupt controller node")
+Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
+Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
+Signed-off-by: Marc Zyngier <maz@kernel.org>
+Link: https://lore.kernel.org/r/20230905-topic-sm8x50-upstream-pdc-ver-v4-2-fc633c7df84b@linaro.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/qcom/sm8150.dtsi |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/boot/dts/qcom/sm8150.dtsi
++++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi
+@@ -3958,7 +3958,7 @@
+               pdc: interrupt-controller@b220000 {
+                       compatible = "qcom,sm8150-pdc", "qcom,pdc";
+-                      reg = <0 0x0b220000 0 0x400>;
++                      reg = <0 0x0b220000 0 0x30000>;
+                       qcom,pdc-ranges = <0 480 94>, <94 609 31>,
+                                         <125 63 1>;
+                       #interrupt-cells = <2>;
diff --git a/queue-6.5/asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch b/queue-6.5/asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch
new file mode 100644 (file)
index 0000000..748d0dc
--- /dev/null
@@ -0,0 +1,53 @@
+From 197c53c8ecb34f2cd5922f4bdcffa8f701a134eb Mon Sep 17 00:00:00 2001
+From: Shengjiu Wang <shengjiu.wang@nxp.com>
+Date: Tue, 19 Sep 2023 17:42:13 +0800
+Subject: ASoC: fsl_sai: Don't disable bitclock for i.MX8MP
+
+From: Shengjiu Wang <shengjiu.wang@nxp.com>
+
+commit 197c53c8ecb34f2cd5922f4bdcffa8f701a134eb upstream.
+
+On i.MX8MP, the BCE and TERE bit are binding with mclk
+enablement, if BCE and TERE are cleared the MCLK also be
+disabled on output pin, that cause the external codec (wm8960)
+in wrong state.
+
+Codec (wm8960) is using the mclk to generate PLL clock,
+if mclk is disabled before disabling PLL, the codec (wm8960)
+won't generate bclk and frameclk when sysclk switch to
+MCLK source in next test case.
+
+The test case:
+$aplay -r44100 test1.wav (PLL source)
+$aplay -r48000 test2.wav (MCLK source)
+aplay: pcm_write:2127: write error: Input/output error
+
+Fixes: 269f399dc19f ("ASoC: fsl_sai: Disable bit clock with transmitter")
+Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
+Link: https://lore.kernel.org/r/1695116533-23287-1-git-send-email-shengjiu.wang@nxp.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/fsl/fsl_sai.c |    9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/fsl/fsl_sai.c
++++ b/sound/soc/fsl/fsl_sai.c
+@@ -710,10 +710,15 @@ static void fsl_sai_config_disable(struc
+ {
+       unsigned int ofs = sai->soc_data->reg_offset;
+       bool tx = dir == TX;
+-      u32 xcsr, count = 100;
++      u32 xcsr, count = 100, mask;
++
++      if (sai->soc_data->mclk_with_tere && sai->mclk_direction_output)
++              mask = FSL_SAI_CSR_TERE;
++      else
++              mask = FSL_SAI_CSR_TERE | FSL_SAI_CSR_BCE;
+       regmap_update_bits(sai->regmap, FSL_SAI_xCSR(tx, ofs),
+-                         FSL_SAI_CSR_TERE | FSL_SAI_CSR_BCE, 0);
++                         mask, 0);
+       /* TERE will remain set till the end of current frame */
+       do {
diff --git a/queue-6.5/asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch b/queue-6.5/asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch
new file mode 100644 (file)
index 0000000..2054826
--- /dev/null
@@ -0,0 +1,69 @@
+From d1f67278d4b2de3bf544ea9bcd9f64d03584df87 Mon Sep 17 00:00:00 2001
+From: Balamurugan C <balamurugan.c@intel.com>
+Date: Tue, 19 Sep 2023 17:11:36 +0800
+Subject: ASoC: Intel: soc-acpi: Add entry for HDMI_In capture support in MTL match table
+
+From: Balamurugan C <balamurugan.c@intel.com>
+
+commit d1f67278d4b2de3bf544ea9bcd9f64d03584df87 upstream.
+
+Adding HDMI-In capture via I2S feature support in MTL platform.
+
+Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
+Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
+Link: https://lore.kernel.org/r/20230919091136.1922253-3-yung-chuan.liao@linux.intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/intel/boards/sof_es8336.c               |   10 ++++++++++
+ sound/soc/intel/common/soc-acpi-intel-mtl-match.c |   12 ++++++++++++
+ 2 files changed, 22 insertions(+)
+
+--- a/sound/soc/intel/boards/sof_es8336.c
++++ b/sound/soc/intel/boards/sof_es8336.c
+@@ -798,6 +798,16 @@ static const struct platform_device_id b
+                                       SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK |
+                                       SOF_ES8336_JD_INVERTED),
+       },
++      {
++              .name = "mtl_es83x6_c1_h02",
++              .driver_data = (kernel_ulong_t)(SOF_ES8336_SSP_CODEC(1) |
++                                      SOF_NO_OF_HDMI_CAPTURE_SSP(2) |
++                                      SOF_HDMI_CAPTURE_1_SSP(0) |
++                                      SOF_HDMI_CAPTURE_2_SSP(2) |
++                                      SOF_SSP_HDMI_CAPTURE_PRESENT |
++                                      SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK |
++                                      SOF_ES8336_JD_INVERTED),
++      },
+       { }
+ };
+ MODULE_DEVICE_TABLE(platform, board_ids);
+--- a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
++++ b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
+@@ -30,6 +30,11 @@ static const struct snd_soc_acpi_codecs
+       .codecs = {"10EC5682", "RTL5682"},
+ };
++static const struct snd_soc_acpi_codecs mtl_lt6911_hdmi = {
++      .num_codecs = 1,
++      .codecs = {"INTC10B0"}
++};
++
+ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_machines[] = {
+       {
+               .comp_ids = &mtl_rt5682_rt5682s_hp,
+@@ -46,6 +51,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_in
+               .sof_tplg_filename = "sof-mtl-max98360a-rt5682.tplg",
+       },
+       {
++              .comp_ids = &mtl_essx_83x6,
++              .drv_name = "mtl_es83x6_c1_h02",
++              .machine_quirk = snd_soc_acpi_codec_list,
++              .quirk_data = &mtl_lt6911_hdmi,
++              .sof_tplg_filename = "sof-mtl-es83x6-ssp1-hdmi-ssp02.tplg",
++      },
++      {
+               .comp_ids = &mtl_rt5682_rt5682s_hp,
+               .drv_name = "mtl_rt1019_rt5682",
+               .machine_quirk = snd_soc_acpi_codec_list,
diff --git a/queue-6.5/asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch b/queue-6.5/asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch
new file mode 100644 (file)
index 0000000..8a86f15
--- /dev/null
@@ -0,0 +1,50 @@
+From 381ddcd5875e496f2eae06bb65853271b7150fee Mon Sep 17 00:00:00 2001
+From: Balamurugan C <balamurugan.c@intel.com>
+Date: Tue, 19 Sep 2023 17:11:35 +0800
+Subject: ASoC: Intel: soc-acpi: Add entry for sof_es8336 in MTL match table.
+
+From: Balamurugan C <balamurugan.c@intel.com>
+
+commit 381ddcd5875e496f2eae06bb65853271b7150fee upstream.
+
+Adding support for ES83x6 codec in MTL match table.
+
+Signed-off-by: Balamurugan C <balamurugan.c@intel.com>
+Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
+Link: https://lore.kernel.org/r/20230919091136.1922253-2-yung-chuan.liao@linux.intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/intel/common/soc-acpi-intel-mtl-match.c |   13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+--- a/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
++++ b/sound/soc/intel/common/soc-acpi-intel-mtl-match.c
+@@ -35,6 +35,11 @@ static const struct snd_soc_acpi_codecs
+       .codecs = {"INTC10B0"}
+ };
++static const struct snd_soc_acpi_codecs mtl_essx_83x6 = {
++      .num_codecs = 3,
++      .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"},
++};
++
+ struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_machines[] = {
+       {
+               .comp_ids = &mtl_rt5682_rt5682s_hp,
+@@ -64,6 +69,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_in
+               .quirk_data = &mtl_rt1019p_amp,
+               .sof_tplg_filename = "sof-mtl-rt1019-rt5682.tplg",
+       },
++      {
++              .comp_ids = &mtl_essx_83x6,
++              .drv_name = "sof-essx8336",
++              .sof_tplg_filename = "sof-mtl-es8336", /* the tplg suffix is added at run time */
++              .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
++                                      SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
++                                      SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
++      },
+       {},
+ };
+ EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_mtl_machines);
diff --git a/queue-6.5/asoc-intel-soc-acpi-fix-dell-sku-0b34.patch b/queue-6.5/asoc-intel-soc-acpi-fix-dell-sku-0b34.patch
new file mode 100644 (file)
index 0000000..5fb5ed9
--- /dev/null
@@ -0,0 +1,55 @@
+From b399f9706a1cbae42731cc420a46cfb9c3c6b10f Mon Sep 17 00:00:00 2001
+From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Date: Tue, 19 Sep 2023 16:36:06 +0800
+Subject: ASoC: Intel: soc-acpi: fix Dell SKU 0B34
+
+From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+
+commit b399f9706a1cbae42731cc420a46cfb9c3c6b10f upstream.
+
+The rule for the SoundWire tables is that the platforms with more
+devices need to be added first. We broke that rule with the Dell SKU
+0B34, and caused the second amplifier for SKU 0AF3 to be ignored.
+
+The fix is simple, we need to move the single-amplifier entry after
+the two-amplifier one.
+
+Fixes: b62a1a839b48 ("ASoC: Intel: soc-acpi: add tables for Dell SKU 0B34")
+Closes: https://github.com/thesofproject/linux/issues/4559
+Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Reviewed-by: Chao Song <chao.song@linux.intel.com>
+Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
+Link: https://lore.kernel.org/r/20230919083606.1920202-1-yung-chuan.liao@linux.intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/intel/common/soc-acpi-intel-adl-match.c |   12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+--- a/sound/soc/intel/common/soc-acpi-intel-adl-match.c
++++ b/sound/soc/intel/common/soc-acpi-intel-adl-match.c
+@@ -649,18 +649,18 @@ struct snd_soc_acpi_mach snd_soc_acpi_in
+               .sof_tplg_filename = "sof-adl-rt1316-l2-mono-rt714-l3.tplg",
+       },
+       {
+-              .link_mask = 0x3, /* rt1316 on link1 & rt714 on link0 */
+-              .links = adl_sdw_rt1316_link1_rt714_link0,
+-              .drv_name = "sof_sdw",
+-              .sof_tplg_filename = "sof-adl-rt1316-l1-mono-rt714-l0.tplg",
+-      },
+-      {
+               .link_mask = 0x7, /* rt714 on link0 & two rt1316s on link1 and link2 */
+               .links = adl_sdw_rt1316_link12_rt714_link0,
+               .drv_name = "sof_sdw",
+               .sof_tplg_filename = "sof-adl-rt1316-l12-rt714-l0.tplg",
+       },
+       {
++              .link_mask = 0x3, /* rt1316 on link1 & rt714 on link0 */
++              .links = adl_sdw_rt1316_link1_rt714_link0,
++              .drv_name = "sof_sdw",
++              .sof_tplg_filename = "sof-adl-rt1316-l1-mono-rt714-l0.tplg",
++      },
++      {
+               .link_mask = 0x5, /* 2 active links required */
+               .links = adl_sdw_rt1316_link2_rt714_link0,
+               .drv_name = "sof_sdw",
diff --git a/queue-6.5/asoc-intel-sof_sdw-add-support-for-sku-0b14.patch b/queue-6.5/asoc-intel-sof_sdw-add-support-for-sku-0b14.patch
new file mode 100644 (file)
index 0000000..cfdfaf6
--- /dev/null
@@ -0,0 +1,41 @@
+From fb0b8d299781be8d46b3612aa96cef28da0d93f4 Mon Sep 17 00:00:00 2001
+From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Date: Tue, 19 Sep 2023 17:21:25 +0800
+Subject: ASoC: Intel: sof_sdw: add support for SKU 0B14
+
+From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+
+commit fb0b8d299781be8d46b3612aa96cef28da0d93f4 upstream.
+
+One more missing SKU in the list.
+
+Closes: https://github.com/thesofproject/linux/issues/4543
+Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
+Reviewed-by: Chao Song <chao.song@linux.intel.com>
+Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
+Link: https://lore.kernel.org/r/20230919092125.1922468-1-yung-chuan.liao@linux.intel.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/intel/boards/sof_sdw.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/sound/soc/intel/boards/sof_sdw.c
++++ b/sound/soc/intel/boards/sof_sdw.c
+@@ -388,6 +388,16 @@ static const struct dmi_system_id sof_sd
+       {
+               .callback = sof_sdw_quirk_cb,
+               .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"),
++                      DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B14"),
++              },
++              /* No Jack */
++              .driver_data = (void *)SOF_SDW_TGL_HDMI,
++      },
++
++      {
++              .callback = sof_sdw_quirk_cb,
++              .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "HP"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "OMEN by HP Gaming Laptop 16-k0xxx"),
+               },
diff --git a/queue-6.5/asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch b/queue-6.5/asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch
new file mode 100644 (file)
index 0000000..b52d75d
--- /dev/null
@@ -0,0 +1,36 @@
+From 69cf63b6560205a390a736b88d112374655adb28 Mon Sep 17 00:00:00 2001
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Date: Tue, 19 Sep 2023 01:22:57 +0000
+Subject: ASoC: simple-card-utils: fixup simple_util_startup() error handling
+
+From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+
+commit 69cf63b6560205a390a736b88d112374655adb28 upstream.
+
+It should use "goto" instead of "return"
+
+Fixes: 5ca2ab459817 ("ASoC: simple-card-utils: Add new system-clock-fixed flag")
+Reported-by: kernel test robot <lkp@intel.com>
+Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
+Closes: https://lore.kernel.org/all/202309141205.ITZeDJxV-lkp@intel.com/
+Closes: https://lore.kernel.org/all/202309151840.au9Aa2W4-lkp@intel.com/
+Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
+Link: https://lore.kernel.org/r/87v8c76jnz.wl-kuninori.morimoto.gx@renesas.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/generic/simple-card-utils.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/sound/soc/generic/simple-card-utils.c
++++ b/sound/soc/generic/simple-card-utils.c
+@@ -310,7 +310,8 @@ int asoc_simple_startup(struct snd_pcm_s
+               if (fixed_sysclk % props->mclk_fs) {
+                       dev_err(rtd->dev, "fixed sysclk %u not divisible by mclk_fs %u\n",
+                               fixed_sysclk, props->mclk_fs);
+-                      return -EINVAL;
++                      ret = -EINVAL;
++                      goto codec_err;
+               }
+               ret = snd_pcm_hw_constraint_minmax(substream->runtime, SNDRV_PCM_HW_PARAM_RATE,
+                       fixed_rate, fixed_rate);
diff --git a/queue-6.5/asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch b/queue-6.5/asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch
new file mode 100644 (file)
index 0000000..e95935f
--- /dev/null
@@ -0,0 +1,51 @@
+From 7e1fe5d9e7eae67e218f878195d1d348d01f9af7 Mon Sep 17 00:00:00 2001
+From: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
+Date: Wed, 27 Sep 2023 12:44:10 +0530
+Subject: ASoC: SOF: amd: fix for firmware reload failure after playback
+
+From: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
+
+commit 7e1fe5d9e7eae67e218f878195d1d348d01f9af7 upstream.
+
+Setting ACP ACLK as clock source when ACP enters D0 state causing
+firmware load failure as mentioned in below scenario.
+
+- Load snd_sof_amd_rembrandt
+- Play or Record audio
+- Stop audio
+- Unload snd_sof_amd_rembrandt
+- Reload snd_sof_amd_rembrandt
+
+If acp_clkmux_sel register field is set, then clock source will be
+set to ACP ACLK when ACP enters D0 state.
+
+During stream stop, if there is no active stream is running then
+acp firmware will set the ACP ACLK value to zero.
+
+When driver is reloaded and clock source is selected as ACP ACLK,
+as ACP ACLK is programmed to zero, firmware loading will fail.
+
+For RMB platform, remove the clock mux selection field so that
+ACP will use internal clock source when ACP enters D0 state.
+
+Fixes: 41cb85bc4b52 ("ASoC: SOF: amd: Add support for Rembrandt plaform.")
+Reported-by: coolstar <coolstarorganization@gmail.com>
+Closes: https://github.com/thesofproject/sof/issues/8137
+Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
+Link: https://lore.kernel.org/r/20230927071412.2416250-1-Vijendar.Mukunda@amd.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/sof/amd/pci-rmb.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/sound/soc/sof/amd/pci-rmb.c
++++ b/sound/soc/sof/amd/pci-rmb.c
+@@ -34,7 +34,6 @@ static const struct sof_amd_acp_desc rem
+       .dsp_intr_base  = ACP6X_DSP_SW_INTR_BASE,
+       .sram_pte_offset = ACP6X_SRAM_PTE_OFFSET,
+       .hw_semaphore_offset = ACP6X_AXI2DAGB_SEM_0,
+-      .acp_clkmux_sel = ACP6X_CLKMUX_SEL,
+       .fusion_dsp_offset = ACP6X_DSP_FUSION_RUNSTALL,
+ };
diff --git a/queue-6.5/dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch b/queue-6.5/dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch
new file mode 100644 (file)
index 0000000..0721faf
--- /dev/null
@@ -0,0 +1,37 @@
+From cfa1f9db6d6088118ef311c0927c66072665b47e Mon Sep 17 00:00:00 2001
+From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
+Date: Fri, 22 Jul 2022 16:11:54 +0100
+Subject: dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update description for '#interrupt-cells' property
+
+From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
+
+commit cfa1f9db6d6088118ef311c0927c66072665b47e upstream.
+
+Update description for '#interrupt-cells' property to utilize the
+RZG2L_{NMI,IRQX} for the first cell defined in the
+include/dt-bindings/interrupt-controller/irqc-rzg2l.h file.
+
+Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
+Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Fixes: 96fed779d3d4cb3c ("dt-bindings: interrupt-controller: Add Renesas RZ/G2L Interrupt Controller")
+Signed-off-by: Marc Zyngier <maz@kernel.org>
+Link: https://lore.kernel.org/r/20220722151155.21100-3-prabhakar.mahadev-lad.rj@bp.renesas.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
++++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
+@@ -31,8 +31,9 @@ properties:
+       - const: renesas,rzg2l-irqc
+   '#interrupt-cells':
+-    description: The first cell should contain external interrupt number (IRQ0-7) and the
+-                 second cell is used to specify the flag.
++    description: The first cell should contain a macro RZG2L_{NMI,IRQX} included in the
++                 include/dt-bindings/interrupt-controller/irqc-rzg2l.h and the second
++                 cell is used to specify the flag.
+     const: 2
+   '#address-cells':
diff --git a/queue-6.5/irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch b/queue-6.5/irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch
new file mode 100644 (file)
index 0000000..e3c7333
--- /dev/null
@@ -0,0 +1,38 @@
+From 9b8df572ba3f4e544366196820a719a40774433e Mon Sep 17 00:00:00 2001
+From: Biju Das <biju.das.jz@bp.renesas.com>
+Date: Mon, 18 Sep 2023 13:24:09 +0100
+Subject: irqchip: renesas-rzg2l: Fix logic to clear TINT interrupt source
+
+From: Biju Das <biju.das.jz@bp.renesas.com>
+
+commit 9b8df572ba3f4e544366196820a719a40774433e upstream.
+
+The logic to clear the TINT interrupt source in rzg2l_irqc_irq_disable()
+is wrong as the mask is correct only for LSB on the TSSR register.
+This issue is found when testing with two TINT interrupt sources. So fix
+the logic for all TINTs by using the macro TSSEL_SHIFT() to multiply
+tssr_offset with 8.
+
+Fixes: 3fed09559cd8 ("irqchip: Add RZ/G2L IA55 Interrupt Controller driver")
+Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
+Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
+Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
+Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
+Signed-off-by: Marc Zyngier <maz@kernel.org>
+Link: https://lore.kernel.org/r/20230918122411.237635-2-biju.das.jz@bp.renesas.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/irqchip/irq-renesas-rzg2l.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/irqchip/irq-renesas-rzg2l.c
++++ b/drivers/irqchip/irq-renesas-rzg2l.c
+@@ -118,7 +118,7 @@ static void rzg2l_irqc_irq_disable(struc
+               raw_spin_lock(&priv->lock);
+               reg = readl_relaxed(priv->base + TSSR(tssr_index));
+-              reg &= ~(TSSEL_MASK << tssr_offset);
++              reg &= ~(TSSEL_MASK << TSSEL_SHIFT(tssr_offset));
+               writel_relaxed(reg, priv->base + TSSR(tssr_index));
+               raw_spin_unlock(&priv->lock);
+       }
diff --git a/queue-6.5/keys-trusted-remove-redundant-static-calls-usage.patch b/queue-6.5/keys-trusted-remove-redundant-static-calls-usage.patch
new file mode 100644 (file)
index 0000000..b03120e
--- /dev/null
@@ -0,0 +1,80 @@
+From 01bbafc63b65689cb179ca537971286bc27f3b74 Mon Sep 17 00:00:00 2001
+From: Sumit Garg <sumit.garg@linaro.org>
+Date: Fri, 6 Oct 2023 10:48:01 +0530
+Subject: KEYS: trusted: Remove redundant static calls usage
+
+From: Sumit Garg <sumit.garg@linaro.org>
+
+commit 01bbafc63b65689cb179ca537971286bc27f3b74 upstream.
+
+Static calls invocations aren't well supported from module __init and
+__exit functions. Especially the static call from cleanup_trusted() led
+to a crash on x86 kernel with CONFIG_DEBUG_VIRTUAL=y.
+
+However, the usage of static call invocations for trusted_key_init()
+and trusted_key_exit() don't add any value from either a performance or
+security perspective. Hence switch to use indirect function calls instead.
+
+Note here that although it will fix the current crash report, ultimately
+the static call infrastructure should be fixed to either support its
+future usage from module __init and __exit functions or not.
+
+Reported-and-tested-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>
+Link: https://lore.kernel.org/lkml/ZRhKq6e5nF%2F4ZIV1@fedora/#t
+Fixes: 5d0682be3189 ("KEYS: trusted: Add generic trusted keys framework")
+Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ security/keys/trusted-keys/trusted_core.c |   13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
+
+--- a/security/keys/trusted-keys/trusted_core.c
++++ b/security/keys/trusted-keys/trusted_core.c
+@@ -44,13 +44,12 @@ static const struct trusted_key_source t
+ #endif
+ };
+-DEFINE_STATIC_CALL_NULL(trusted_key_init, *trusted_key_sources[0].ops->init);
+ DEFINE_STATIC_CALL_NULL(trusted_key_seal, *trusted_key_sources[0].ops->seal);
+ DEFINE_STATIC_CALL_NULL(trusted_key_unseal,
+                       *trusted_key_sources[0].ops->unseal);
+ DEFINE_STATIC_CALL_NULL(trusted_key_get_random,
+                       *trusted_key_sources[0].ops->get_random);
+-DEFINE_STATIC_CALL_NULL(trusted_key_exit, *trusted_key_sources[0].ops->exit);
++static void (*trusted_key_exit)(void);
+ static unsigned char migratable;
+ enum {
+@@ -359,19 +358,16 @@ static int __init init_trusted(void)
+               if (!get_random)
+                       get_random = kernel_get_random;
+-              static_call_update(trusted_key_init,
+-                                 trusted_key_sources[i].ops->init);
+               static_call_update(trusted_key_seal,
+                                  trusted_key_sources[i].ops->seal);
+               static_call_update(trusted_key_unseal,
+                                  trusted_key_sources[i].ops->unseal);
+               static_call_update(trusted_key_get_random,
+                                  get_random);
+-              static_call_update(trusted_key_exit,
+-                                 trusted_key_sources[i].ops->exit);
++              trusted_key_exit = trusted_key_sources[i].ops->exit;
+               migratable = trusted_key_sources[i].ops->migratable;
+-              ret = static_call(trusted_key_init)();
++              ret = trusted_key_sources[i].ops->init();
+               if (!ret)
+                       break;
+       }
+@@ -388,7 +384,8 @@ static int __init init_trusted(void)
+ static void __exit cleanup_trusted(void)
+ {
+-      static_call_cond(trusted_key_exit)();
++      if (trusted_key_exit)
++              (*trusted_key_exit)();
+ }
+ late_initcall(init_trusted);
index 1f319daeffdd2cd654baae59f7b849ada5590f57..97c78e3b616436b2477c400f25315148008595e5 100644 (file)
@@ -20,3 +20,18 @@ asoc-amd-yc-fix-non-functional-mic-on-lenovo-82ym.patch
 asoc-hdmi-codec-fix-broken-channel-map-reporting.patch
 ata-libata-scsi-disable-scsi-device-manage_system_start_stop.patch
 net-prevent-address-rewrite-in-kernel_bind.patch
+arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch
+dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch
+irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch
+keys-trusted-remove-redundant-static-calls-usage.patch
+alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch
+alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch
+alsa-hda-cs35l41-cleanup-and-fix-double-free-in-firmware-request.patch
+alsa-hda-realtek-change-model-for-intel-rvp-board.patch
+asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch
+asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch
+asoc-intel-soc-acpi-fix-dell-sku-0b34.patch
+asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch
+asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch
+asoc-intel-sof_sdw-add-support-for-sku-0b14.patch
+asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch