From: Greg Kroah-Hartman Date: Thu, 12 Oct 2023 18:05:35 +0000 (+0200) Subject: 6.1-stable patches X-Git-Tag: v6.1.58~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=47c850977247c775ce4ba9b6b9a1bcf2daf3fe19;p=thirdparty%2Fkernel%2Fstable-queue.git 6.1-stable patches added patches: 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-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 --- diff --git a/queue-6.1/alsa-hda-realtek-change-model-for-intel-rvp-board.patch b/queue-6.1/alsa-hda-realtek-change-model-for-intel-rvp-board.patch new file mode 100644 index 00000000000..1bc67cb47d4 --- /dev/null +++ b/queue-6.1/alsa-hda-realtek-change-model-for-intel-rvp-board.patch @@ -0,0 +1,41 @@ +From ccbd88be057a38531f835e8a04948ebf80cb0c5d Mon Sep 17 00:00:00 2001 +From: Kailang Yang +Date: Fri, 6 Oct 2023 14:47:37 +0800 +Subject: ALSA: hda/realtek: Change model for Intel RVP board + +From: Kailang Yang + +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 +Link: https://lore.kernel.org/r/28112f54c0c6496f97ac845645bc0256@realtek.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -9697,7 +9697,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), +@@ -9920,7 +9920,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.1/alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch b/queue-6.1/alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch new file mode 100644 index 00000000000..e79813ef5da --- /dev/null +++ b/queue-6.1/alsa-usb-audio-fix-microphone-sound-on-nexigo-webcam.patch @@ -0,0 +1,135 @@ +From 4a63e68a295187ae3c1cb3fa0c583c96a959714f Mon Sep 17 00:00:00 2001 +From: Christos Skevis +Date: Fri, 6 Oct 2023 17:53:30 +0200 +Subject: ALSA: usb-audio: Fix microphone sound on Nexigo webcam. + +From: Christos Skevis + +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 +Link: https://lore.kernel.org/r/20231006155330.399393-1-xristos.thes@gmail.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -2175,6 +2175,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.1/alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch b/queue-6.1/alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch new file mode 100644 index 00000000000..39ec94ab692 --- /dev/null +++ b/queue-6.1/alsa-usb-audio-fix-microphone-sound-on-opencomm2-headset.patch @@ -0,0 +1,43 @@ +From 6a83d6f3bb3c329a73e3483651fb77b78bac1878 Mon Sep 17 00:00:00 2001 +From: WhaleChang +Date: Fri, 6 Oct 2023 12:48:49 +0800 +Subject: ALSA: usb-audio: Fix microphone sound on Opencomm2 Headset + +From: WhaleChang + +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 +Link: https://lore.kernel.org/r/20231006044852.4181022-1-whalechang@google.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/usb/quirks.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/sound/usb/quirks.c ++++ b/sound/usb/quirks.c +@@ -1992,7 +1992,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.1/arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch b/queue-6.1/arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch new file mode 100644 index 00000000000..048e62739a3 --- /dev/null +++ b/queue-6.1/arm64-dts-qcom-sm8150-extend-the-size-of-the-pdc-resource.patch @@ -0,0 +1,35 @@ +From cf5716acbfc6190b3f97f4614affdf5991aed7b2 Mon Sep 17 00:00:00 2001 +From: Dmitry Baryshkov +Date: Tue, 5 Sep 2023 15:19:26 +0200 +Subject: arm64: dts: qcom: sm8150: extend the size of the PDC resource + +From: Dmitry Baryshkov + +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 +Signed-off-by: Dmitry Baryshkov +Reviewed-by: Neil Armstrong +Signed-off-by: Neil Armstrong +Signed-off-by: Marc Zyngier +Link: https://lore.kernel.org/r/20230905-topic-sm8x50-upstream-pdc-ver-v4-2-fc633c7df84b@linaro.org +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -3701,7 +3701,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.1/asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch b/queue-6.1/asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch new file mode 100644 index 00000000000..748d0dc06a6 --- /dev/null +++ b/queue-6.1/asoc-fsl_sai-don-t-disable-bitclock-for-i.mx8mp.patch @@ -0,0 +1,53 @@ +From 197c53c8ecb34f2cd5922f4bdcffa8f701a134eb Mon Sep 17 00:00:00 2001 +From: Shengjiu Wang +Date: Tue, 19 Sep 2023 17:42:13 +0800 +Subject: ASoC: fsl_sai: Don't disable bitclock for i.MX8MP + +From: Shengjiu Wang + +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 +Link: https://lore.kernel.org/r/1695116533-23287-1-git-send-email-shengjiu.wang@nxp.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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.1/asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch b/queue-6.1/asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch new file mode 100644 index 00000000000..84ca225a653 --- /dev/null +++ b/queue-6.1/asoc-intel-soc-acpi-add-entry-for-hdmi_in-capture-support-in-mtl-match-table.patch @@ -0,0 +1,69 @@ +From d1f67278d4b2de3bf544ea9bcd9f64d03584df87 Mon Sep 17 00:00:00 2001 +From: Balamurugan C +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 + +commit d1f67278d4b2de3bf544ea9bcd9f64d03584df87 upstream. + +Adding HDMI-In capture via I2S feature support in MTL platform. + +Signed-off-by: Balamurugan C +Reviewed-by: Pierre-Louis Bossart +Signed-off-by: Bard Liao +Link: https://lore.kernel.org/r/20230919091136.1922253-3-yung-chuan.liao@linux.intel.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -807,6 +807,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 +@@ -20,6 +20,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, +@@ -67,6 +72,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_in + .sof_tplg_filename = "sof-mtl-rt711-rt1308-rt715.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", ++ }, ++ { + .link_mask = BIT(0) | BIT(1) | BIT(3), + .links = sdw_mockup_headset_1amp_mic, + .drv_name = "sof_sdw", diff --git a/queue-6.1/asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch b/queue-6.1/asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch new file mode 100644 index 00000000000..b5b2cb86ee5 --- /dev/null +++ b/queue-6.1/asoc-intel-soc-acpi-add-entry-for-sof_es8336-in-mtl-match-table.patch @@ -0,0 +1,50 @@ +From 381ddcd5875e496f2eae06bb65853271b7150fee Mon Sep 17 00:00:00 2001 +From: Balamurugan C +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 + +commit 381ddcd5875e496f2eae06bb65853271b7150fee upstream. + +Adding support for ES83x6 codec in MTL match table. + +Signed-off-by: Balamurugan C +Reviewed-by: Pierre-Louis Bossart +Signed-off-by: Bard Liao +Link: https://lore.kernel.org/r/20230919091136.1922253-2-yung-chuan.liao@linux.intel.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -25,6 +25,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, +@@ -33,6 +38,14 @@ struct snd_soc_acpi_mach snd_soc_acpi_in + .quirk_data = &mtl_max98357a_amp, + .sof_tplg_filename = "sof-mtl-max98357a-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.1/asoc-intel-sof_sdw-add-support-for-sku-0b14.patch b/queue-6.1/asoc-intel-sof_sdw-add-support-for-sku-0b14.patch new file mode 100644 index 00000000000..bcd7b277c49 --- /dev/null +++ b/queue-6.1/asoc-intel-sof_sdw-add-support-for-sku-0b14.patch @@ -0,0 +1,41 @@ +From fb0b8d299781be8d46b3612aa96cef28da0d93f4 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart +Date: Tue, 19 Sep 2023 17:21:25 +0800 +Subject: ASoC: Intel: sof_sdw: add support for SKU 0B14 + +From: Pierre-Louis Bossart + +commit fb0b8d299781be8d46b3612aa96cef28da0d93f4 upstream. + +One more missing SKU in the list. + +Closes: https://github.com/thesofproject/linux/issues/4543 +Signed-off-by: Pierre-Louis Bossart +Reviewed-by: Chao Song +Signed-off-by: Bard Liao +Link: https://lore.kernel.org/r/20230919092125.1922468-1-yung-chuan.liao@linux.intel.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -351,6 +351,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, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B29"), + }, + .driver_data = (void *)(SOF_SDW_TGL_HDMI | diff --git a/queue-6.1/asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch b/queue-6.1/asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch new file mode 100644 index 00000000000..5306e650834 --- /dev/null +++ b/queue-6.1/asoc-simple-card-utils-fixup-simple_util_startup-error-handling.patch @@ -0,0 +1,36 @@ +From 69cf63b6560205a390a736b88d112374655adb28 Mon Sep 17 00:00:00 2001 +From: Kuninori Morimoto +Date: Tue, 19 Sep 2023 01:22:57 +0000 +Subject: ASoC: simple-card-utils: fixup simple_util_startup() error handling + +From: Kuninori Morimoto + +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 +Reported-by: Dan Carpenter +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 +Link: https://lore.kernel.org/r/87v8c76jnz.wl-kuninori.morimoto.gx@renesas.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -331,7 +331,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.1/asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch b/queue-6.1/asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch new file mode 100644 index 00000000000..68432e58bb1 --- /dev/null +++ b/queue-6.1/asoc-sof-amd-fix-for-firmware-reload-failure-after-playback.patch @@ -0,0 +1,51 @@ +From 7e1fe5d9e7eae67e218f878195d1d348d01f9af7 Mon Sep 17 00:00:00 2001 +From: Vijendar Mukunda +Date: Wed, 27 Sep 2023 12:44:10 +0530 +Subject: ASoC: SOF: amd: fix for firmware reload failure after playback + +From: Vijendar Mukunda + +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 +Closes: https://github.com/thesofproject/sof/issues/8137 +Signed-off-by: Vijendar Mukunda +Link: https://lore.kernel.org/r/20230927071412.2416250-1-Vijendar.Mukunda@amd.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 +@@ -54,7 +54,6 @@ static const struct sof_amd_acp_desc rem + .sram_pte_offset = ACP6X_SRAM_PTE_OFFSET, + .i2s_pin_config_offset = ACP6X_I2S_PIN_CONFIG, + .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.1/dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch b/queue-6.1/dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch new file mode 100644 index 00000000000..c188e4e6a71 --- /dev/null +++ b/queue-6.1/dt-bindings-interrupt-controller-renesas-rzg2l-irqc-update-description-for-interrupt-cells-property.patch @@ -0,0 +1,42 @@ +From cfa1f9db6d6088118ef311c0927c66072665b47e Mon Sep 17 00:00:00 2001 +From: Lad Prabhakar +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 + +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 +Reviewed-by: Geert Uytterhoeven +Fixes: 96fed779d3d4cb3c ("dt-bindings: interrupt-controller: Add Renesas RZ/G2L Interrupt Controller") +Signed-off-by: Marc Zyngier +Link: https://lore.kernel.org/r/20220722151155.21100-3-prabhakar.mahadev-lad.rj@bp.renesas.com +Signed-off-by: Greg Kroah-Hartman +--- + .../bindings/interrupt-controller/renesas,rzg2l-irqc.yaml | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml b/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml +index 33b90e975e33..ea7db3618b23 100644 +--- 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': +-- +2.42.0 + diff --git a/queue-6.1/irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch b/queue-6.1/irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch new file mode 100644 index 00000000000..447a7f2ce33 --- /dev/null +++ b/queue-6.1/irqchip-renesas-rzg2l-fix-logic-to-clear-tint-interrupt-source.patch @@ -0,0 +1,43 @@ +From 9b8df572ba3f4e544366196820a719a40774433e Mon Sep 17 00:00:00 2001 +From: Biju Das +Date: Mon, 18 Sep 2023 13:24:09 +0100 +Subject: irqchip: renesas-rzg2l: Fix logic to clear TINT interrupt source + +From: Biju Das + +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 +Tested-by: Claudiu Beznea +Reviewed-by: Geert Uytterhoeven +Reviewed-by: Claudiu Beznea +Signed-off-by: Marc Zyngier +Link: https://lore.kernel.org/r/20230918122411.237635-2-biju.das.jz@bp.renesas.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/irqchip/irq-renesas-rzg2l.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c +index 4bbfa2b0a4df..2cee5477be6b 100644 +--- a/drivers/irqchip/irq-renesas-rzg2l.c ++++ b/drivers/irqchip/irq-renesas-rzg2l.c +@@ -118,7 +118,7 @@ static void rzg2l_irqc_irq_disable(struct irq_data *d) + + 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); + } +-- +2.42.0 + diff --git a/queue-6.1/keys-trusted-remove-redundant-static-calls-usage.patch b/queue-6.1/keys-trusted-remove-redundant-static-calls-usage.patch new file mode 100644 index 00000000000..b03120ecc4c --- /dev/null +++ b/queue-6.1/keys-trusted-remove-redundant-static-calls-usage.patch @@ -0,0 +1,80 @@ +From 01bbafc63b65689cb179ca537971286bc27f3b74 Mon Sep 17 00:00:00 2001 +From: Sumit Garg +Date: Fri, 6 Oct 2023 10:48:01 +0530 +Subject: KEYS: trusted: Remove redundant static calls usage + +From: Sumit Garg + +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 +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + 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); diff --git a/queue-6.1/series b/queue-6.1/series index 15028a7f6af..975ace0f629 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -16,3 +16,16 @@ quota-fix-slow-quotaoff.patch asoc-amd-yc-fix-non-functional-mic-on-lenovo-82ym.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-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-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