]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Sep 2024 08:26:25 +0000 (10:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Sep 2024 08:26:25 +0000 (10:26 +0200)
added patches:
drm-amdgpu-remove-redundant-semicolons-in-ras_event_log.patch
i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch
scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch

queue-6.10/drm-amdgpu-remove-redundant-semicolons-in-ras_event_log.patch [new file with mode: 0644]
queue-6.10/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch [new file with mode: 0644]
queue-6.10/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch [new file with mode: 0644]
queue-6.10/series

diff --git a/queue-6.10/drm-amdgpu-remove-redundant-semicolons-in-ras_event_log.patch b/queue-6.10/drm-amdgpu-remove-redundant-semicolons-in-ras_event_log.patch
new file mode 100644 (file)
index 0000000..e2dbb40
--- /dev/null
@@ -0,0 +1,32 @@
+From 332210c13ac0595c34516caf9a61430b45e16d21 Mon Sep 17 00:00:00 2001
+From: Yang Wang <kevinyang.wang@amd.com>
+Date: Thu, 4 Jul 2024 13:48:19 +0800
+Subject: drm/amdgpu: remove redundant semicolons in RAS_EVENT_LOG
+
+From: Yang Wang <kevinyang.wang@amd.com>
+
+commit 332210c13ac0595c34516caf9a61430b45e16d21 upstream.
+
+remove redundant semicolons in RAS_EVENT_LOG to avoid
+code format check warning.
+
+Fixes: b712d7c20133 ("drm/amdgpu: fix compiler 'side-effect' check issue for RAS_EVENT_LOG()")
+Signed-off-by: Yang Wang <kevinyang.wang@amd.com>
+Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.h
+@@ -68,7 +68,7 @@ struct amdgpu_iv_entry;
+ #define AMDGPU_RAS_GET_FEATURES(val)  ((val) & ~AMDGPU_RAS_FEATURES_SOCKETID_MASK)
+ #define RAS_EVENT_LOG(adev, id, fmt, ...)     \
+-      amdgpu_ras_event_log_print((adev), (id), (fmt), ##__VA_ARGS__);
++      amdgpu_ras_event_log_print((adev), (id), (fmt), ##__VA_ARGS__)
+ enum amdgpu_ras_block {
+       AMDGPU_RAS_BLOCK__UMC = 0,
diff --git a/queue-6.10/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch b/queue-6.10/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch
new file mode 100644 (file)
index 0000000..6b124bd
--- /dev/null
@@ -0,0 +1,49 @@
+From 71833e79a42178d8a50b5081c98c78ace9325628 Mon Sep 17 00:00:00 2001
+From: Richard Fitzgerald <rf@opensource.cirrus.com>
+Date: Wed, 14 Aug 2024 13:16:49 +0100
+Subject: i2c: Use IS_REACHABLE() for substituting empty ACPI functions
+
+From: Richard Fitzgerald <rf@opensource.cirrus.com>
+
+commit 71833e79a42178d8a50b5081c98c78ace9325628 upstream.
+
+Replace IS_ENABLED() with IS_REACHABLE() to substitute empty stubs for:
+    i2c_acpi_get_i2c_resource()
+    i2c_acpi_client_count()
+    i2c_acpi_find_bus_speed()
+    i2c_acpi_new_device_by_fwnode()
+    i2c_adapter *i2c_acpi_find_adapter_by_handle()
+    i2c_acpi_waive_d0_probe()
+
+commit f17c06c6608a ("i2c: Fix conditional for substituting empty ACPI
+functions") partially fixed this conditional to depend on CONFIG_I2C,
+but used IS_ENABLED(), which is wrong since CONFIG_I2C is tristate.
+
+CONFIG_ACPI is boolean but let's also change it to use IS_REACHABLE()
+to future-proof it against becoming tristate.
+
+Somehow despite testing various combinations of CONFIG_I2C and CONFIG_ACPI
+we missed the combination CONFIG_I2C=m, CONFIG_ACPI=y.
+
+Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
+Fixes: f17c06c6608a ("i2c: Fix conditional for substituting empty ACPI functions")
+Reported-by: kernel test robot <lkp@intel.com>
+Closes: https://lore.kernel.org/oe-kbuild-all/202408141333.gYnaitcV-lkp@intel.com/
+Reviewed-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/linux/i2c.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/linux/i2c.h
++++ b/include/linux/i2c.h
+@@ -1053,7 +1053,7 @@ static inline int of_i2c_get_board_info(
+ struct acpi_resource;
+ struct acpi_resource_i2c_serialbus;
+-#if IS_ENABLED(CONFIG_ACPI) && IS_ENABLED(CONFIG_I2C)
++#if IS_REACHABLE(CONFIG_ACPI) && IS_REACHABLE(CONFIG_I2C)
+ bool i2c_acpi_get_i2c_resource(struct acpi_resource *ares,
+                              struct acpi_resource_i2c_serialbus **i2c);
+ int i2c_acpi_client_count(struct acpi_device *adev);
diff --git a/queue-6.10/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch b/queue-6.10/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch
new file mode 100644 (file)
index 0000000..62d8e03
--- /dev/null
@@ -0,0 +1,59 @@
+From ea593e028a9cc523557b4084a61d87ae69e2f270 Mon Sep 17 00:00:00 2001
+From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Date: Fri, 16 Aug 2024 11:55:11 +0530
+Subject: scsi: ufs: qcom: Add UFSHCD_QUIRK_BROKEN_LSDBS_CAP for SM8550 SoC
+
+From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+
+commit ea593e028a9cc523557b4084a61d87ae69e2f270 upstream.
+
+SM8550 SoC has the UFSHCI 4.0 compliant UFS controller and only supports
+legacy single doorbell mode without MCQ. But due to a hardware bug, it
+reports 1 in the 'Legacy Queue & Single Doorbell Support (LSDBS)' field of
+the Controller Capabilities register. This field is supposed to read as 0
+if legacy single doorbell mode is supported and 1 otherwise.
+
+Starting with commit 0c60eb0cc320 ("scsi: ufs: core: Check LSDBS cap when
+!mcq"), ufshcd driver is now relying on the LSDBS field to decide when to
+use the legacy doorbell mode if MCQ is not supported. And this ends up
+breaking UFS on SM8550:
+
+ufshcd-qcom 1d84000.ufs: ufshcd_init: failed to initialize (legacy doorbell mode not supported)
+ufshcd-qcom 1d84000.ufs: error -EINVAL: Initialization failed with error -22
+
+So use the UFSHCD_QUIRK_BROKEN_LSDBS_CAP quirk for SM8550 SoC so that the
+ufshcd driver could use legacy doorbell mode correctly.
+
+Fixes: 0c60eb0cc320 ("scsi: ufs: core: Check LSDBS cap when !mcq")
+Tested-by: Amit Pundir <amit.pundir@linaro.org>
+Reviewed-by: Bart Van Assche <bvanassche@acm.org>
+Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Link: https://lore.kernel.org/r/20240816-ufs-bug-fix-v3-2-e6fe0e18e2a3@linaro.org
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/ufs/host/ufs-qcom.c |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/drivers/ufs/host/ufs-qcom.c
++++ b/drivers/ufs/host/ufs-qcom.c
+@@ -857,6 +857,9 @@ static void ufs_qcom_advertise_quirks(st
+       if (host->hw_ver.major > 0x3)
+               hba->quirks |= UFSHCD_QUIRK_REINIT_AFTER_MAX_GEAR_SWITCH;
++
++      if (of_device_is_compatible(hba->dev->of_node, "qcom,sm8550-ufshc"))
++              hba->quirks |= UFSHCD_QUIRK_BROKEN_LSDBS_CAP;
+ }
+ static void ufs_qcom_set_phy_gear(struct ufs_qcom_host *host)
+@@ -1845,7 +1848,8 @@ static void ufs_qcom_remove(struct platf
+ }
+ static const struct of_device_id ufs_qcom_of_match[] __maybe_unused = {
+-      { .compatible = "qcom,ufshc"},
++      { .compatible = "qcom,ufshc" },
++      { .compatible = "qcom,sm8550-ufshc" },
+       {},
+ };
+ MODULE_DEVICE_TABLE(of, ufs_qcom_of_match);
index 2e4ef6a7ac00896a92991940d21e9c9c7f363215..c958d134d1b7311924e671b9fb74d7ef4925e245 100644 (file)
@@ -179,3 +179,6 @@ crypto-ecc-fix-off-by-one-missing-to-clear-most-sign.patch
 media-uvcvideo-enforce-alignment-of-frame-and-interv.patch
 pinctrl-core-reset-gpio_device-in-loop-in-pinctrl_pi.patch
 mm-fix-filemap_invalidate_inode-to-use-invalidate_inode_pages2_range.patch
+drm-amdgpu-remove-redundant-semicolons-in-ras_event_log.patch
+i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch
+scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch