[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1589015708.3197.46.camel@mtkswgap22>
Date: Sat, 9 May 2020 17:15:08 +0800
From: Stanley Chu <stanley.chu@...iatek.com>
To: "Asutosh Das (asd)" <asutoshd@...eaurora.org>
CC: <linux-scsi@...r.kernel.org>, <martin.petersen@...cle.com>,
<avri.altman@....com>, <alim.akhtar@...sung.com>,
<jejb@...ux.ibm.com>, <beanhuo@...ron.com>, <cang@...eaurora.org>,
<matthias.bgg@...il.com>, <bvanassche@....org>,
<linux-mediatek@...ts.infradead.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <kuohong.wang@...iatek.com>,
<peter.wang@...iatek.com>, <chun-hung.wu@...iatek.com>,
<andy.teng@...iatek.com>
Subject: Re: [PATCH v1 3/5] scsi: ufs: customize flush threshold for
WriteBooster
Hi Asutosh,
Thanks for your review.
On Fri, 2020-05-08 at 11:12 -0700, Asutosh Das (asd) wrote:
> On 5/8/2020 10:15 AM, Stanley Chu wrote:
> > Allow flush threshold for WriteBooster to be customizable by
> > vendors. To achieve this, make the value as a variable in struct
> > ufs_hba first.
> >
> > Signed-off-by: Stanley Chu <stanley.chu@...iatek.com>
> > ---
> > drivers/scsi/ufs/ufshcd.c | 6 ++++--
> > drivers/scsi/ufs/ufshcd.h | 1 +
> > 2 files changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> > index cdacbe6378a1..9a0ce6550c2f 100644
> > --- a/drivers/scsi/ufs/ufshcd.c
> > +++ b/drivers/scsi/ufs/ufshcd.c
> > @@ -5301,8 +5301,8 @@ static bool ufshcd_wb_presrv_usrspc_keep_vcc_on(struct ufs_hba *hba,
> > cur_buf);
> > return false;
> > }
> > - /* Let it continue to flush when >60% full */
> > - if (avail_buf < UFS_WB_40_PERCENT_BUF_REMAIN)
> > + /* Let it continue to flush when available buffer exceeds threshold */
> > + if (avail_buf < hba->vps->wb_flush_threshold)
> > return true;
> >
> > return false;
> > @@ -6839,6 +6839,7 @@ static void ufshcd_wb_probe(struct ufs_hba *hba, u8 *desc_buf)
> > if (!d_lu_wb_buf_alloc)
> > goto wb_disabled;
> > }
> > +
> Is this newline needed?
Oops, I will remove this in next version.
>
> > return;
> >
> > wb_disabled:
> > @@ -7462,6 +7463,7 @@ static const struct attribute_group *ufshcd_driver_groups[] = {
> >
> > static struct ufs_hba_variant_params ufs_hba_vps = {
> > .hba_enable_delay_us = 1000,
> > + .wb_flush_threshold = UFS_WB_40_PERCENT_BUF_REMAIN,
> > .devfreq_profile.polling_ms = 100,
> > .devfreq_profile.target = ufshcd_devfreq_target,
> > .devfreq_profile.get_dev_status = ufshcd_devfreq_get_dev_status,
> > diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
> > index f7bdf52ba8b0..e3dfb48e669e 100644
> > --- a/drivers/scsi/ufs/ufshcd.h
> > +++ b/drivers/scsi/ufs/ufshcd.h
> > @@ -570,6 +570,7 @@ struct ufs_hba_variant_params {
> > struct devfreq_dev_profile devfreq_profile;
> > struct devfreq_simple_ondemand_data ondemand_data;
> > u16 hba_enable_delay_us;
> > + u32 wb_flush_threshold;
> > };
> >
> > /**
> >
>
> Patch[3] & [4] may be combined into a single patch perhaps?
> Patch[4] just redoes what [3] did in a different way, so might as well
> just do what patch[4] does right away.
OK! I will try to merge both to a single patch in next version.
Let me know if you have any other comments for the whole series.
Thanks,
Stanley Chu
>
>
Powered by blists - more mailing lists