From ebf93f2de366d94d7b416ff18846628442f9da62 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 5 Sep 2024 09:08:07 -0400 Subject: [PATCH] Drop scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch Signed-off-by: Sasha Levin --- ...uirk_broken_lsdbs_cap-for-sm8550-soc.patch | 59 ------------------- queue-6.10/series | 1 - ...uirk_broken_lsdbs_cap-for-sm8550-soc.patch | 59 ------------------- queue-6.6/series | 1 - 4 files changed, 120 deletions(-) delete mode 100644 queue-6.10/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch delete mode 100644 queue-6.6/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch 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 deleted file mode 100644 index 62d8e03dce9..00000000000 --- a/queue-6.10/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch +++ /dev/null @@ -1,59 +0,0 @@ -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 c958d134d1b..310f135829e 100644 --- a/queue-6.10/series +++ b/queue-6.10/series @@ -181,4 +181,3 @@ 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 diff --git a/queue-6.6/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch b/queue-6.6/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch deleted file mode 100644 index e79518e6793..00000000000 --- a/queue-6.6/scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch +++ /dev/null @@ -1,59 +0,0 @@ -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 -@@ -1038,6 +1038,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_caps(struct ufs_hba *hba) -@@ -1931,7 +1934,8 @@ static int ufs_qcom_remove(struct platfo - } - - 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.6/series b/queue-6.6/series index cdbb76944a5..0f09f48b8b4 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -129,4 +129,3 @@ drm-amd-display-skip-wbscl_set_scaler_filter-if-filt.patch media-uvcvideo-enforce-alignment-of-frame-and-interv.patch virtio_net-fix-napi_skb_cache_put-warning.patch i2c-use-is_reachable-for-substituting-empty-acpi-functions.patch -scsi-ufs-qcom-add-ufshcd_quirk_broken_lsdbs_cap-for-sm8550-soc.patch -- 2.47.3