From: Greg Kroah-Hartman Date: Thu, 5 Sep 2024 08:26:25 +0000 (+0200) Subject: 6.10-stable patches X-Git-Tag: v6.1.109~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ee93fbff6f5fb63515d101e3b740f65e3b2b6fb9;p=thirdparty%2Fkernel%2Fstable-queue.git 6.10-stable patches 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 --- 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 index 00000000000..e2dbb40be0e --- /dev/null +++ b/queue-6.10/drm-amdgpu-remove-redundant-semicolons-in-ras_event_log.patch @@ -0,0 +1,32 @@ +From 332210c13ac0595c34516caf9a61430b45e16d21 Mon Sep 17 00:00:00 2001 +From: Yang Wang +Date: Thu, 4 Jul 2024 13:48:19 +0800 +Subject: drm/amdgpu: remove redundant semicolons in RAS_EVENT_LOG + +From: Yang Wang + +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 +Reviewed-by: Tao Zhou +Signed-off-by: Alex Deucher +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..6b124bda510 --- /dev/null +++ b/queue-6.10/i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch @@ -0,0 +1,49 @@ +From 71833e79a42178d8a50b5081c98c78ace9325628 Mon Sep 17 00:00:00 2001 +From: Richard Fitzgerald +Date: Wed, 14 Aug 2024 13:16:49 +0100 +Subject: i2c: Use IS_REACHABLE() for substituting empty ACPI functions + +From: Richard Fitzgerald + +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 +Fixes: f17c06c6608a ("i2c: Fix conditional for substituting empty ACPI functions") +Reported-by: kernel test robot +Closes: https://lore.kernel.org/oe-kbuild-all/202408141333.gYnaitcV-lkp@intel.com/ +Reviewed-by: Takashi Iwai +Signed-off-by: Wolfram Sang +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..62d8e03dce9 --- /dev/null +++ b/queue-6.10/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch @@ -0,0 +1,59 @@ +From ea593e028a9cc523557b4084a61d87ae69e2f270 Mon Sep 17 00:00:00 2001 +From: Manivannan Sadhasivam +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 + +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 +Reviewed-by: Bart Van Assche +Signed-off-by: Manivannan Sadhasivam +Link: https://lore.kernel.org/r/20240816-ufs-bug-fix-v3-2-e6fe0e18e2a3@linaro.org +Signed-off-by: Martin K. Petersen +Signed-off-by: Greg Kroah-Hartman +--- + 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); diff --git a/queue-6.10/series b/queue-6.10/series index 2e4ef6a7ac0..c958d134d1b 100644 --- a/queue-6.10/series +++ b/queue-6.10/series @@ -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