scsi: ufs: Remove two WB related fields from struct ufs_dev_info
authorBean Huo <beanhuo@micron.com>
Tue, 19 Jan 2021 16:38:45 +0000 (17:38 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 21 Jan 2021 03:12:30 +0000 (22:12 -0500)
d_wb_alloc_units and d_ext_ufs_feature_sup are only used during WB probe.
They are used to confirm the condition that "if bWriteBoosterBufferType
is set to 01h but dNumSharedWriteBoosterBufferAllocUnits is set to zero,
the WriteBooster feature is disabled", and if UFS device supports WB.

No need to keep them after probing is complete.

Link: https://lore.kernel.org/r/20210119163847.20165-5-huobean@gmail.com
Reviewed-by: Stanley Chu <stanley.chu@mediatek.com>
Signed-off-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ufs/ufs.h
drivers/scsi/ufs/ufshcd.c

index 09c7cc8a678d4d47c55cf42a07346c85347d41c6..a8000ed0017e0d9ef5638058fbe8db2929e240a6 100644 (file)
@@ -538,9 +538,7 @@ struct ufs_dev_info {
        u8 *model;
        u16 wspecversion;
        u32 clk_gating_wait_us;
-       u32 d_ext_ufs_feature_sup;
        u8 b_wb_buffer_type;
-       u32 d_wb_alloc_units;
        bool b_rpm_dev_flush_capable;
        u8 b_presrv_uspc_en;
 };
index f19c1257a59a819d006cc56b256fa4eb4516fd9d..8c2fb8048758e9051c01105f5c6cf38486f19c86 100644 (file)
@@ -7266,6 +7266,7 @@ static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
        struct ufs_dev_info *dev_info = &hba->dev_info;
        u8 lun;
        u32 d_lu_wb_buf_alloc;
+       u32 ext_ufs_feature;
 
        if (!ufshcd_is_wb_allowed(hba))
                return;
@@ -7283,11 +7284,10 @@ static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
            DEVICE_DESC_PARAM_EXT_UFS_FEATURE_SUP + 4)
                goto wb_disabled;
 
-       dev_info->d_ext_ufs_feature_sup =
-               get_unaligned_be32(desc_buf +
-                                  DEVICE_DESC_PARAM_EXT_UFS_FEATURE_SUP);
+       ext_ufs_feature = get_unaligned_be32(desc_buf +
+                                       DEVICE_DESC_PARAM_EXT_UFS_FEATURE_SUP);
 
-       if (!(dev_info->d_ext_ufs_feature_sup & UFS_DEV_WRITE_BOOSTER_SUP))
+       if (!(ext_ufs_feature & UFS_DEV_WRITE_BOOSTER_SUP))
                goto wb_disabled;
 
        /*
@@ -7302,10 +7302,8 @@ static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
                desc_buf[DEVICE_DESC_PARAM_WB_PRESRV_USRSPC_EN];
 
        if (dev_info->b_wb_buffer_type == WB_BUF_MODE_SHARED) {
-               dev_info->d_wb_alloc_units =
-               get_unaligned_be32(desc_buf +
-                                  DEVICE_DESC_PARAM_WB_SHARED_ALLOC_UNITS);
-               if (!dev_info->d_wb_alloc_units)
+               if (!get_unaligned_be32(desc_buf +
+                                  DEVICE_DESC_PARAM_WB_SHARED_ALLOC_UNITS))
                        goto wb_disabled;
        } else {
                for (lun = 0; lun < UFS_UPIU_MAX_WB_LUN_ID; lun++) {