scsi: ufs: qcom: Fix ESI vector mask
authorManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Thu, 14 Dec 2023 12:55:32 +0000 (18:25 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 19 Dec 2023 01:44:17 +0000 (20:44 -0500)
While cleaning up the code to use ufshcd_rmwl() helper, the ESI vector mask
was changed incorrectly. Fix it and also define a proper macro for the
value together with FIELD_PREP().

Reported-by: Andrew Halaney <ahalaney@redhat.com>
Fixes: 0e9f4375db1c ("scsi: ufs: qcom: Use ufshcd_rmwl() where applicable")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20231214125532.55109-1-manivannan.sadhasivam@linaro.org
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufs-qcom.c
drivers/ufs/host/ufs-qcom.h

index d5cca5d3a98f62896d6332398016ac77822138fc..9fd8d737edea99c83c8301f146c49026c568d647 100644 (file)
@@ -1744,7 +1744,9 @@ static int ufs_qcom_config_esi(struct ufs_hba *hba)
        } else {
                if (host->hw_ver.major == 6 && host->hw_ver.minor == 0 &&
                    host->hw_ver.step == 0)
-                       ufshcd_rmwl(hba, ESI_VEC_MASK, 0x1f00, REG_UFS_CFG3);
+                       ufshcd_rmwl(hba, ESI_VEC_MASK,
+                                   FIELD_PREP(ESI_VEC_MASK, MAX_ESI_VEC - 1),
+                                   REG_UFS_CFG3);
                ufshcd_mcq_enable_esi(hba);
        }
 
index 9026fe2433075bc719ed86792c56645f33888770..9dd9a391ebb76273f9e51afcc848ee7a36426e5a 100644 (file)
@@ -15,6 +15,7 @@
 #define HBRN8_POLL_TOUT_MS      100
 #define DEFAULT_CLK_RATE_HZ     1000000
 #define MAX_SUPP_MAC           64
+#define MAX_ESI_VEC            32
 
 #define UFS_HW_VER_MAJOR_MASK  GENMASK(31, 28)
 #define UFS_HW_VER_MINOR_MASK  GENMASK(27, 16)