--- /dev/null
+From 0f714096d8878dfdc9b15af35c0f1e7f5f754cc1 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 13 Jan 2025 16:52:08 +0800
+Subject: ALSA: hda/realtek: Fix volume adjustment issue on Lenovo ThinkBook
+ 16P Gen5
+
+From: Yage Geng <icoderdev@gmail.com>
+
+[ Upstream commit 34c8e74cd6667ef5da90d448a1af702c4b873bd3 ]
+
+This patch fixes the volume adjustment issue on the Lenovo ThinkBook 16P Gen5
+by applying the necessary quirk configuration for the Realtek ALC287 codec.
+
+The issue was caused by incorrect configuration in the driver,
+which prevented proper volume control on certain systems.
+
+Signed-off-by: Yage Geng <icoderdev@gmail.com>
+Link: https://patch.msgid.link/20250113085208.15351-1-icoderdev@gmail.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/pci/hda/patch_realtek.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
+index a9f6138b59b0c..8c4de5a253add 100644
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -10916,8 +10916,8 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
+ SND_PCI_QUIRK(0x17aa, 0x38e0, "Yoga Y990 Intel VECO Dual", ALC287_FIXUP_TAS2781_I2C),
+ SND_PCI_QUIRK(0x17aa, 0x38f8, "Yoga Book 9i", ALC287_FIXUP_TAS2781_I2C),
+ SND_PCI_QUIRK(0x17aa, 0x38df, "Y990 YG DUAL", ALC287_FIXUP_TAS2781_I2C),
+- SND_PCI_QUIRK(0x17aa, 0x38f9, "Thinkbook 16P Gen5", ALC287_FIXUP_CS35L41_I2C_2),
+- SND_PCI_QUIRK(0x17aa, 0x38fa, "Thinkbook 16P Gen5", ALC287_FIXUP_CS35L41_I2C_2),
++ SND_PCI_QUIRK(0x17aa, 0x38f9, "Thinkbook 16P Gen5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
++ SND_PCI_QUIRK(0x17aa, 0x38fa, "Thinkbook 16P Gen5", ALC287_FIXUP_MG_RTKC_CSAMP_CS35L41_I2C_THINKPAD),
+ SND_PCI_QUIRK(0x17aa, 0x38fd, "ThinkBook plus Gen5 Hybrid", ALC287_FIXUP_TAS2781_I2C),
+ SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI),
+ SND_PCI_QUIRK(0x17aa, 0x3913, "Lenovo 145", ALC236_FIXUP_LENOVO_INV_DMIC),
+--
+2.39.5
+
--- /dev/null
+From 548daeab857243543c7f270e96f0f3ef26387e84 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 27 Dec 2024 22:27:51 +0200
+Subject: ASoC: codecs: es8316: Fix HW rate calculation for 48Mhz MCLK
+
+From: Marian Postevca <posteuca@mutex.one>
+
+[ Upstream commit 85c9ac7a56f731ecd59317c822cb6295464444cc ]
+
+For 48Mhz MCLK systems the calculation of the HW rate is broken,
+and will not produce even one sane rate. Since es83xx supports
+the option to halve MCLK, calculate also rates with MCLK/2.
+
+Signed-off-by: Marian Postevca <posteuca@mutex.one>
+Link: https://patch.msgid.link/20241227202751.244954-1-posteuca@mutex.one
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/codecs/es8316.c | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/sound/soc/codecs/es8316.c b/sound/soc/codecs/es8316.c
+index 61729e5b50a8e..f508df01145bf 100644
+--- a/sound/soc/codecs/es8316.c
++++ b/sound/soc/codecs/es8316.c
+@@ -39,7 +39,9 @@ struct es8316_priv {
+ struct snd_soc_jack *jack;
+ int irq;
+ unsigned int sysclk;
+- unsigned int allowed_rates[ARRAY_SIZE(supported_mclk_lrck_ratios)];
++ /* ES83xx supports halving the MCLK so it supports twice as many rates
++ */
++ unsigned int allowed_rates[ARRAY_SIZE(supported_mclk_lrck_ratios) * 2];
+ struct snd_pcm_hw_constraint_list sysclk_constraints;
+ bool jd_inverted;
+ };
+@@ -386,6 +388,12 @@ static int es8316_set_dai_sysclk(struct snd_soc_dai *codec_dai,
+
+ if (freq % ratio == 0)
+ es8316->allowed_rates[count++] = freq / ratio;
++
++ /* We also check if the halved MCLK produces a valid rate
++ * since the codec supports halving the MCLK.
++ */
++ if ((freq / ratio) % 2 == 0)
++ es8316->allowed_rates[count++] = freq / ratio / 2;
+ }
+
+ if (count) {
+--
+2.39.5
+
--- /dev/null
+From 2b69a53b8ded93f30a2d0bc3256254fb28369f10 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 9 Jan 2025 09:38:22 +0000
+Subject: ASoC: cs42l43: Add codec force suspend/resume ops
+
+From: Maciej Strozek <mstrozek@opensource.cirrus.com>
+
+[ Upstream commit 8f0defd2e52d22eb994d7e770b1261caa24917d8 ]
+
+This ensures codec will resume after suspending during playback.
+
+Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
+Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
+Link: https://patch.msgid.link/20250109093822.5745-1-mstrozek@opensource.cirrus.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/codecs/cs42l43.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/sound/soc/codecs/cs42l43.c b/sound/soc/codecs/cs42l43.c
+index d0098b4558b52..8ec4083cd3b80 100644
+--- a/sound/soc/codecs/cs42l43.c
++++ b/sound/soc/codecs/cs42l43.c
+@@ -2446,6 +2446,7 @@ static const struct dev_pm_ops cs42l43_codec_pm_ops = {
+ SYSTEM_SLEEP_PM_OPS(cs42l43_codec_suspend, cs42l43_codec_resume)
+ NOIRQ_SYSTEM_SLEEP_PM_OPS(cs42l43_codec_suspend_noirq, cs42l43_codec_resume_noirq)
+ RUNTIME_PM_OPS(NULL, cs42l43_codec_runtime_resume, NULL)
++ SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, pm_runtime_force_resume)
+ };
+
+ static const struct platform_device_id cs42l43_codec_id_table[] = {
+--
+2.39.5
+
--- /dev/null
+From 7ae060b389c51f5068a50f9757131dfd637274bd Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 8 Jan 2025 13:48:28 +0000
+Subject: ASoC: samsung: Add missing depends on I2C
+
+From: Charles Keepax <ckeepax@opensource.cirrus.com>
+
+[ Upstream commit 704dbe97a68153a84319ad63f526e12ba868b88e ]
+
+When switching to selects for MFD_WM8994 a dependency should have also
+been added for I2C, as the dependency on MFD_WM8994 will not be
+considered by the select.
+
+Fixes: fd55c6065bec ("ASoC: samsung: Add missing selects for MFD_WM8994")
+Reported-by: kernel test robot <lkp@intel.com>
+Closes: https://lore.kernel.org/oe-kbuild-all/202501082020.2bpGGVTW-lkp@intel.com/
+Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
+Link: https://patch.msgid.link/20250108134828.246570-1-ckeepax@opensource.cirrus.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/samsung/Kconfig | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
+index 1a05f0e7078d3..60b4b7b752155 100644
+--- a/sound/soc/samsung/Kconfig
++++ b/sound/soc/samsung/Kconfig
+@@ -127,7 +127,7 @@ config SND_SOC_SAMSUNG_TM2_WM5110
+
+ config SND_SOC_SAMSUNG_ARIES_WM8994
+ tristate "SoC I2S Audio support for WM8994 on Aries"
+- depends on SND_SOC_SAMSUNG && IIO && EXTCON
++ depends on SND_SOC_SAMSUNG && I2C && IIO && EXTCON
+ select SND_SOC_BT_SCO
+ select MFD_WM8994
+ select SND_SOC_WM8994
+@@ -141,7 +141,7 @@ config SND_SOC_SAMSUNG_ARIES_WM8994
+
+ config SND_SOC_SAMSUNG_MIDAS_WM1811
+ tristate "SoC I2S Audio support for Midas boards"
+- depends on SND_SOC_SAMSUNG && IIO
++ depends on SND_SOC_SAMSUNG && I2C && IIO
+ select SND_SAMSUNG_I2S
+ select MFD_WM8994
+ select SND_SOC_WM8994
+--
+2.39.5
+
--- /dev/null
+From c00d03062e0ab1b4d2361330c49bb4ae7d728d36 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 7 Jan 2025 10:41:34 +0000
+Subject: ASoC: samsung: Add missing selects for MFD_WM8994
+
+From: Charles Keepax <ckeepax@opensource.cirrus.com>
+
+[ Upstream commit fd55c6065bec5268740e944a1800e6fad00974d9 ]
+
+Anything selecting SND_SOC_WM8994 should also select MFD_WM8994, as
+SND_SOC_WM8994 does not automatically do so. Add the missing selects.
+
+Reported-by: kernel test robot <lkp@intel.com>
+Closes: https://lore.kernel.org/oe-kbuild-all/202501071530.UwIXs7OL-lkp@intel.com/
+Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
+Link: https://patch.msgid.link/20250107104134.12147-1-ckeepax@opensource.cirrus.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/samsung/Kconfig | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig
+index 4b1ea7b2c7961..1a05f0e7078d3 100644
+--- a/sound/soc/samsung/Kconfig
++++ b/sound/soc/samsung/Kconfig
+@@ -127,8 +127,9 @@ config SND_SOC_SAMSUNG_TM2_WM5110
+
+ config SND_SOC_SAMSUNG_ARIES_WM8994
+ tristate "SoC I2S Audio support for WM8994 on Aries"
+- depends on SND_SOC_SAMSUNG && MFD_WM8994 && IIO && EXTCON
++ depends on SND_SOC_SAMSUNG && IIO && EXTCON
+ select SND_SOC_BT_SCO
++ select MFD_WM8994
+ select SND_SOC_WM8994
+ select SND_SAMSUNG_I2S
+ help
+@@ -142,6 +143,7 @@ config SND_SOC_SAMSUNG_MIDAS_WM1811
+ tristate "SoC I2S Audio support for Midas boards"
+ depends on SND_SOC_SAMSUNG && IIO
+ select SND_SAMSUNG_I2S
++ select MFD_WM8994
+ select SND_SOC_WM8994
+ help
+ Say Y if you want to add support for SoC audio on the Midas boards.
+--
+2.39.5
+
--- /dev/null
+From 3b111565d2d38277501c64fc291d373837860b90 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 6 Jan 2025 15:46:39 +0000
+Subject: ASoC: wm8994: Add depends on MFD core
+
+From: Charles Keepax <ckeepax@opensource.cirrus.com>
+
+[ Upstream commit 5ed01155cea69801f1f0c908954a56a5a3474bed ]
+
+The ASoC driver should not be used without the MFD component. This was
+causing randconfig issues with regmap IRQ which is selected by the MFD
+part of the wm8994 driver.
+
+Reported-by: kernel test robot <lkp@intel.com>
+Closes: https://lore.kernel.org/oe-kbuild-all/202501061337.R0DlBUoD-lkp@intel.com/
+Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
+Link: https://patch.msgid.link/20250106154639.3999553-1-ckeepax@opensource.cirrus.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ sound/soc/codecs/Kconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
+index 7092842480ef1..0d9d1d250f2b5 100644
+--- a/sound/soc/codecs/Kconfig
++++ b/sound/soc/codecs/Kconfig
+@@ -2397,6 +2397,7 @@ config SND_SOC_WM8993
+
+ config SND_SOC_WM8994
+ tristate
++ depends on MFD_WM8994
+
+ config SND_SOC_WM8995
+ tristate
+--
+2.39.5
+
--- /dev/null
+From 17b5b7cfb04cada70cf21a72cc21b5c5e9fdab52 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Dec 2024 11:51:58 -0700
+Subject: drm/amd/display: Initialize denominator defaults to 1
+
+From: Alex Hung <alex.hung@amd.com>
+
+[ Upstream commit 36b23e3baf9129d5b6c3a3a85b6b7ffb75ae287c ]
+
+[WHAT & HOW]
+Variables, used as denominators and maybe not assigned to other values,
+should be initialized to non-zero to avoid DIVIDE_BY_ZERO, as reported
+by Coverity.
+
+Reviewed-by: Austin Zheng <austin.zheng@amd.com>
+Reviewed-by: Rodrigo Siqueira <rodrigo.siqueira@amd.com>
+Signed-off-by: Alex Hung <alex.hung@amd.com>
+Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
+Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+(cherry picked from commit e2c4c6c10542ccfe4a0830bb6c9fd5b177b7bbb7)
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ .../dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c b/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c
+index 3ea54fd52e468..e2a3764d9d181 100644
+--- a/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c
++++ b/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_dcn4_calcs.c
+@@ -578,8 +578,8 @@ static void CalculateBytePerPixelAndBlockSizes(
+ {
+ *BytePerPixelDETY = 0;
+ *BytePerPixelDETC = 0;
+- *BytePerPixelY = 0;
+- *BytePerPixelC = 0;
++ *BytePerPixelY = 1;
++ *BytePerPixelC = 1;
+
+ if (SourcePixelFormat == dml2_444_64) {
+ *BytePerPixelDETY = 8;
+--
+2.39.5
+
--- /dev/null
+From cad5259885cdf885e65572546bc3bdc964e19e06 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 1 Oct 2024 17:13:07 +0800
+Subject: drm/amd/display: Use HW lock mgr for PSR1
+
+From: Tom Chung <chiahsuan.chung@amd.com>
+
+[ Upstream commit b5c764d6ed556c4e81fbe3fd976da77ec450c08e ]
+
+[Why]
+Without the dmub hw lock, it may cause the lock timeout issue
+while do modeset on PSR1 eDP panel.
+
+[How]
+Allow dmub hw lock for PSR1.
+
+Reviewed-by: Sun peng Li <sunpeng.li@amd.com>
+Signed-off-by: Tom Chung <chiahsuan.chung@amd.com>
+Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+(cherry picked from commit a2b5a9956269f4c1a09537177f18ab0229fe79f7)
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c b/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
+index bf636b28e3e16..5bb8b78bf250a 100644
+--- a/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
++++ b/drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c
+@@ -63,7 +63,8 @@ void dmub_hw_lock_mgr_inbox0_cmd(struct dc_dmub_srv *dmub_srv,
+
+ bool should_use_dmub_lock(struct dc_link *link)
+ {
+- if (link->psr_settings.psr_version == DC_PSR_VERSION_SU_1)
++ if (link->psr_settings.psr_version == DC_PSR_VERSION_SU_1 ||
++ link->psr_settings.psr_version == DC_PSR_VERSION_1)
+ return true;
+
+ if (link->replay_settings.replay_feature_enabled)
+--
+2.39.5
+
--- /dev/null
+From 3a89a4509d89d420750ca7148904e3e7844ee77d Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 24 Dec 2024 20:22:43 +0200
+Subject: drm/connector: hdmi: Validate supported_formats matches
+ ycbcr_420_allowed
+
+From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
+
+[ Upstream commit f2f96619590f944f74f3c2b0b57a6dcc5d13cd9f ]
+
+Ensure HDMI connector initialization fails when the presence of
+HDMI_COLORSPACE_YUV420 in the given supported_formats bitmask doesn't
+match the value of drm_connector->ycbcr_420_allowed.
+
+Suggested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
+Reviewed-by: Maxime Ripard <mripard@kernel.org>
+Link: https://patchwork.freedesktop.org/patch/msgid/20241224-bridge-conn-fmt-prio-v4-3-a9ceb5671379@collabora.com
+Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/drm_connector.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
+index fc35f47e2849e..ca7f43c8d6f1b 100644
+--- a/drivers/gpu/drm/drm_connector.c
++++ b/drivers/gpu/drm/drm_connector.c
+@@ -507,6 +507,9 @@ int drmm_connector_hdmi_init(struct drm_device *dev,
+ if (!supported_formats || !(supported_formats & BIT(HDMI_COLORSPACE_RGB)))
+ return -EINVAL;
+
++ if (connector->ycbcr_420_allowed != !!(supported_formats & BIT(HDMI_COLORSPACE_YUV420)))
++ return -EINVAL;
++
+ if (!(max_bpc == 8 || max_bpc == 10 || max_bpc == 12))
+ return -EINVAL;
+
+--
+2.39.5
+
--- /dev/null
+From d5c1f99bf0436396ca99a074090f2d35d85dc896 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 15 Jan 2025 05:13:41 -0800
+Subject: hwmon: (drivetemp) Set scsi command timeout to 10s
+
+From: Russell Harmon <russ@har.mn>
+
+[ Upstream commit b46ba47d7bb461a0969317be1f2e165c0571d6c5 ]
+
+There's at least one drive (MaxDigitalData OOS14000G) such that if it
+receives a large amount of I/O while entering an idle power state will
+first exit idle before responding, including causing SMART temperature
+requests to be delayed.
+
+This causes the drivetemp request to exceed its timeout of 1 second.
+
+Signed-off-by: Russell Harmon <russ@har.mn>
+Link: https://lore.kernel.org/r/20250115131340.3178988-1-russ@har.mn
+Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/hwmon/drivetemp.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/hwmon/drivetemp.c b/drivers/hwmon/drivetemp.c
+index 2a4ec55ddb47e..291d91f686467 100644
+--- a/drivers/hwmon/drivetemp.c
++++ b/drivers/hwmon/drivetemp.c
+@@ -194,7 +194,7 @@ static int drivetemp_scsi_command(struct drivetemp_data *st,
+ scsi_cmd[14] = ata_command;
+
+ err = scsi_execute_cmd(st->sdev, scsi_cmd, op, st->smartdata,
+- ATA_SECT_SIZE, HZ, 5, NULL);
++ ATA_SECT_SIZE, 10 * HZ, 5, NULL);
+ if (err > 0)
+ err = -EIO;
+ return err;
+--
+2.39.5
+
--- /dev/null
+From 0a4c67724e6864f2c39a73b8489ca7f86248c05a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 12 Jan 2025 13:34:02 +0100
+Subject: irqchip/sunxi-nmi: Add missing SKIP_WAKE flag
+
+From: Philippe Simons <simons.philippe@gmail.com>
+
+[ Upstream commit 3a748d483d80f066ca4b26abe45cdc0c367d13e9 ]
+
+Some boards with Allwinner SoCs connect the PMIC's IRQ pin to the SoC's NMI
+pin instead of a normal GPIO. Since the power key is connected to the PMIC,
+and people expect to wake up a suspended system via this key, the NMI IRQ
+controller must stay alive when the system goes into suspend.
+
+Add the SKIP_WAKE flag to prevent the sunxi NMI controller from going to
+sleep, so that the power key can wake up those systems.
+
+[ tglx: Fixed up coding style ]
+
+Signed-off-by: Philippe Simons <simons.philippe@gmail.com>
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Link: https://lore.kernel.org/all/20250112123402.388520-1-simons.philippe@gmail.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/irqchip/irq-sunxi-nmi.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/irqchip/irq-sunxi-nmi.c b/drivers/irqchip/irq-sunxi-nmi.c
+index bb92fd85e975f..0b43121520243 100644
+--- a/drivers/irqchip/irq-sunxi-nmi.c
++++ b/drivers/irqchip/irq-sunxi-nmi.c
+@@ -186,7 +186,8 @@ static int __init sunxi_sc_nmi_irq_init(struct device_node *node,
+ gc->chip_types[0].chip.irq_unmask = irq_gc_mask_set_bit;
+ gc->chip_types[0].chip.irq_eoi = irq_gc_ack_set_bit;
+ gc->chip_types[0].chip.irq_set_type = sunxi_sc_nmi_set_type;
+- gc->chip_types[0].chip.flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED;
++ gc->chip_types[0].chip.flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED |
++ IRQCHIP_SKIP_SET_WAKE;
+ gc->chip_types[0].regs.ack = reg_offs->pend;
+ gc->chip_types[0].regs.mask = reg_offs->enable;
+ gc->chip_types[0].regs.type = reg_offs->ctrl;
+--
+2.39.5
+
--- /dev/null
+From da27a43c96c292a92e3a8c386ec421585cfaed96 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 10 Jan 2025 15:50:28 -0600
+Subject: of/unittest: Add test that of_address_to_resource() fails on
+ non-translatable address
+
+From: Rob Herring (Arm) <robh@kernel.org>
+
+[ Upstream commit 44748065ed321041db6e18cdcaa8c2a9554768ac ]
+
+of_address_to_resource() on a non-translatable address should return an
+error. Additionally, this case also triggers a spurious WARN for
+missing #address-cells/#size-cells.
+
+Link: https://lore.kernel.org/r/20250110215030.3637845-1-robh@kernel.org
+Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/of/unittest-data/tests-platform.dtsi | 13 +++++++++++++
+ drivers/of/unittest.c | 14 ++++++++++++++
+ 2 files changed, 27 insertions(+)
+
+diff --git a/drivers/of/unittest-data/tests-platform.dtsi b/drivers/of/unittest-data/tests-platform.dtsi
+index fa39611071b32..cd310b26b50c8 100644
+--- a/drivers/of/unittest-data/tests-platform.dtsi
++++ b/drivers/of/unittest-data/tests-platform.dtsi
+@@ -34,5 +34,18 @@ dev@100 {
+ };
+ };
+ };
++
++ platform-tests-2 {
++ // No #address-cells or #size-cells
++ node {
++ #address-cells = <1>;
++ #size-cells = <1>;
++
++ test-device@100 {
++ compatible = "test-sub-device";
++ reg = <0x100 1>;
++ };
++ };
++ };
+ };
+ };
+diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
+index daf9a2dddd7e0..576e9beefc7c8 100644
+--- a/drivers/of/unittest.c
++++ b/drivers/of/unittest.c
+@@ -1342,6 +1342,7 @@ static void __init of_unittest_bus_3cell_ranges(void)
+ static void __init of_unittest_reg(void)
+ {
+ struct device_node *np;
++ struct resource res;
+ int ret;
+ u64 addr, size;
+
+@@ -1358,6 +1359,19 @@ static void __init of_unittest_reg(void)
+ np, addr);
+
+ of_node_put(np);
++
++ np = of_find_node_by_path("/testcase-data/platform-tests-2/node/test-device@100");
++ if (!np) {
++ pr_err("missing testcase data\n");
++ return;
++ }
++
++ ret = of_address_to_resource(np, 0, &res);
++ unittest(ret == -EINVAL, "of_address_to_resource(%pOF) expected error on untranslatable address\n",
++ np);
++
++ of_node_put(np);
++
+ }
+
+ struct of_unittest_expected_res {
+--
+2.39.5
+
--- /dev/null
+From b20ea868eae417a4a15abb2ed07cca0cde2e112b Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 7 Jan 2025 10:24:31 +0800
+Subject: scsi: iscsi: Fix redundant response for ISCSI_UEVENT_GET_HOST_STATS
+ request
+
+From: Xiang Zhang <hawkxiang.cpp@gmail.com>
+
+[ Upstream commit 63ca02221cc5aa0731fe2b0cc28158aaa4b84982 ]
+
+The ISCSI_UEVENT_GET_HOST_STATS request is already handled in
+iscsi_get_host_stats(). This fix ensures that redundant responses are
+skipped in iscsi_if_rx().
+
+ - On success: send reply and stats from iscsi_get_host_stats()
+ within if_recv_msg().
+
+ - On error: fall through.
+
+Signed-off-by: Xiang Zhang <hawkxiang.cpp@gmail.com>
+Link: https://lore.kernel.org/r/20250107022432.65390-1-hawkxiang.cpp@gmail.com
+Reviewed-by: Mike Christie <michael.christie@oracle.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/scsi/scsi_transport_iscsi.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
+index fde7de3b1e553..9b47f91c5b972 100644
+--- a/drivers/scsi/scsi_transport_iscsi.c
++++ b/drivers/scsi/scsi_transport_iscsi.c
+@@ -4104,7 +4104,7 @@ iscsi_if_rx(struct sk_buff *skb)
+ }
+ do {
+ /*
+- * special case for GET_STATS:
++ * special case for GET_STATS, GET_CHAP and GET_HOST_STATS:
+ * on success - sending reply and stats from
+ * inside of if_recv_msg(),
+ * on error - fall through.
+@@ -4113,6 +4113,8 @@ iscsi_if_rx(struct sk_buff *skb)
+ break;
+ if (ev->type == ISCSI_UEVENT_GET_CHAP && !err)
+ break;
++ if (ev->type == ISCSI_UEVENT_GET_HOST_STATS && !err)
++ break;
+ err = iscsi_if_send_reply(portid, nlh->nlmsg_type,
+ ev, sizeof(*ev));
+ if (err == -EAGAIN && --retries < 0) {
+--
+2.39.5
+
--- /dev/null
+From 969a1a9391c92e431e6829d586c3f31ba6235bc1 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 8 Jan 2025 23:44:45 +0100
+Subject: seccomp: Stub for !CONFIG_SECCOMP
+
+From: Linus Walleij <linus.walleij@linaro.org>
+
+[ Upstream commit f90877dd7fb5085dd9abd6399daf63dd2969fc90 ]
+
+When using !CONFIG_SECCOMP with CONFIG_GENERIC_ENTRY, the
+randconfig bots found the following snag:
+
+ kernel/entry/common.c: In function 'syscall_trace_enter':
+>> kernel/entry/common.c:52:23: error: implicit declaration
+ of function '__secure_computing' [-Wimplicit-function-declaration]
+ 52 | ret = __secure_computing(NULL);
+ | ^~~~~~~~~~~~~~~~~~
+
+Since generic entry calls __secure_computing() unconditionally,
+fix this by moving the stub out of the ifdef clause for
+CONFIG_HAVE_ARCH_SECCOMP_FILTER so it's always available.
+
+Link: https://lore.kernel.org/oe-kbuild-all/202501061240.Fzk9qiFZ-lkp@intel.com/
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/r/20250108-seccomp-stub-2-v2-1-74523d49420f@linaro.org
+Signed-off-by: Kees Cook <kees@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ include/linux/seccomp.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/linux/seccomp.h b/include/linux/seccomp.h
+index 709ad84809e1e..8934c7da47f4c 100644
+--- a/include/linux/seccomp.h
++++ b/include/linux/seccomp.h
+@@ -50,10 +50,10 @@ struct seccomp_data;
+
+ #ifdef CONFIG_HAVE_ARCH_SECCOMP_FILTER
+ static inline int secure_computing(void) { return 0; }
+-static inline int __secure_computing(const struct seccomp_data *sd) { return 0; }
+ #else
+ static inline void secure_computing_strict(int this_syscall) { return; }
+ #endif
++static inline int __secure_computing(const struct seccomp_data *sd) { return 0; }
+
+ static inline long prctl_get_seccomp(void)
+ {
+--
+2.39.5
+
--- /dev/null
+asoc-wm8994-add-depends-on-mfd-core.patch
+asoc-codecs-es8316-fix-hw-rate-calculation-for-48mhz.patch
+asoc-samsung-add-missing-selects-for-mfd_wm8994.patch
+seccomp-stub-for-config_seccomp.patch
+asoc-cs42l43-add-codec-force-suspend-resume-ops.patch
+scsi-iscsi-fix-redundant-response-for-iscsi_uevent_g.patch
+drm-amd-display-use-hw-lock-mgr-for-psr1.patch
+drm-amd-display-initialize-denominator-defaults-to-1.patch
+of-unittest-add-test-that-of_address_to_resource-fai.patch
+alsa-hda-realtek-fix-volume-adjustment-issue-on-leno.patch
+drm-connector-hdmi-validate-supported_formats-matche.patch
+irqchip-sunxi-nmi-add-missing-skip_wake-flag.patch
+hwmon-drivetemp-set-scsi-command-timeout-to-10s.patch
+asoc-samsung-add-missing-depends-on-i2c.patch