2020-12-11 14:36:51

by Bean Huo

[permalink] [raw]
Subject: [PATCH v4 4/6] scsi: ufs: Remove d_wb_alloc_units from struct ufs_dev_info

From: Bean Huo <[email protected]>

d_wb_alloc_units only be used while WB probe, just used to confirm the
condition that "if bWriteBoosterBufferType is set to 01h but
dNumSharedWriteBoosterBufferAllocUnits is set to zero, the WriteBooster
feature is disabled". So, don't need to keep it in runtime.

Signed-off-by: Bean Huo <[email protected]>
---
drivers/scsi/ufs/ufs.h | 1 -
drivers/scsi/ufs/ufshcd.c | 6 ++----
2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/ufs/ufs.h b/drivers/scsi/ufs/ufs.h
index 45bebca29fdd..8ed342e43883 100644
--- a/drivers/scsi/ufs/ufs.h
+++ b/drivers/scsi/ufs/ufs.h
@@ -544,7 +544,6 @@ struct ufs_dev_info {
bool wb_buf_flush_enabled;
u8 wb_dedicated_lu;
u8 b_wb_buffer_type;
- u32 d_wb_alloc_units;

bool b_rpm_dev_flush_capable;
u8 b_presrv_uspc_en;
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 528c257df48c..0998e6103cd7 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -7243,10 +7243,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++) {
--
2.17.1


2020-12-15 09:01:21

by Stanley Chu

[permalink] [raw]
Subject: Re: [PATCH v4 4/6] scsi: ufs: Remove d_wb_alloc_units from struct ufs_dev_info

Hi Bean,

On Fri, 2020-12-11 at 15:00 +0100, Bean Huo wrote:
> From: Bean Huo <[email protected]>
>
> d_wb_alloc_units only be used while WB probe, just used to confirm the
> condition that "if bWriteBoosterBufferType is set to 01h but
> dNumSharedWriteBoosterBufferAllocUnits is set to zero, the WriteBooster
> feature is disabled". So, don't need to keep it in runtime.
>
> Signed-off-by: Bean Huo <[email protected]>
> ---
> drivers/scsi/ufs/ufs.h | 1 -
> drivers/scsi/ufs/ufshcd.c | 6 ++----
> 2 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufs.h b/drivers/scsi/ufs/ufs.h
> index 45bebca29fdd..8ed342e43883 100644
> --- a/drivers/scsi/ufs/ufs.h
> +++ b/drivers/scsi/ufs/ufs.h
> @@ -544,7 +544,6 @@ struct ufs_dev_info {
> bool wb_buf_flush_enabled;
> u8 wb_dedicated_lu;
> u8 b_wb_buffer_type;
> - u32 d_wb_alloc_units;

Perhaps below two fields could be also removed from struct ufs_dev_info
for the same reason?

u32 d_ext_ufs_feature_sup;
u32 d_wb_alloc_units;

Thanks,
Stanley Chu

>
> bool b_rpm_dev_flush_capable;
> u8 b_presrv_uspc_en;
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 528c257df48c..0998e6103cd7 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -7243,10 +7243,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++) {

2020-12-15 10:03:36

by Bean Huo

[permalink] [raw]
Subject: Re: [PATCH v4 4/6] scsi: ufs: Remove d_wb_alloc_units from struct ufs_dev_info

On Tue, 2020-12-15 at 16:57 +0800, Stanley Chu wrote:
> > u8 b_wb_buffer_type;
> > - u32 d_wb_alloc_units;
>
> Perhaps below two fields could be also removed from struct
> ufs_dev_info
> for the same reason?
>
> u32 d_ext_ufs_feature_sup;
I thought twice before this patch. maybe will be used in near future,
so I keep d_ext_ufs_feature_sup. Now that you suggest, we can remove it
as well.

> u32 d_wb_alloc_units;
This patch is to remove it.

Thanks,
Bean