RE: [PATCH v3 2/3] scsi: ufs: Keep device active mode only fWriteBoosterBufferFlushDuringHibernate == 1

From: Avri Altman
Date: Thu Dec 10 2020 - 02:47:55 EST


> On Wed, 2020-12-09 at 07:40 +0000, Avri Altman wrote:
> > > According to the JEDEC UFS 3.1 Spec, If
> > > fWriteBoosterBufferFlushDuringHibernate
> > > is set to one, the device flushes the WriteBooster Buffer data
> > > automatically
> > > whenever the link enters the hibernate (HIBERN8) state. While the
> > > flushing
> > > operation is in progress, the device should be kept in Active power
> > > mode.
> > > Currently, we set this flag during the UFSHCD probe stage, but we
> > > didn't deal
> > > with its programming failure. Even this failure is less likely to
> > > occur, but
> > > still it is possible.
> >
> > How about reading it on every ufshcd_wb_need_flush?
> >
> > Thanks,
> > Avri
>
>
> Hi Avri
> I was using that way, no different from the current my way. Instead,
> reading on every time will add some delay. As long as the UFS device
> returns the successful, we assume that this flag has been properly
> set. so, just keeping is_hibern8_wb_flush if set, I think it is
> enough.
Right.
But it is a small price, and you no longer need to worry about rare error event.
Also adding an if (fWriteBoosterBufferFlushDuringHibernate == 1) will allow some more flexibility,
e.g. shutting it off from user-space (ufs-utils), unlike today,
that it is categorically on for all platforms / devices.

Anyway, if you decided to add new capability,
Preferable to do it in a different series.

Thanks,
Avri