RE: [PATCH] scsi: ufs-bsg: Remove ufs_bsg_get_query_desc_size function

Arthur Simchaev
2022-09-28T08:33:49Z

Hi Bean

In case you don't have any comments I will appreciate if you will add "reviewed by" to the patch.

Regards
Arthur

> -----Original Message-----
> From: Arthur Simchaev
> Sent: Wednesday, September 21, 2022 12:53 PM
> To: Bean Huo <huobean@gmail.com>; James@vger.kernel.org;
> E.J.Bottomley@vger.kernel.org; jejb@linux.vnet.ibm.com;
> Martin@vger.kernel.org; K.Petersen@vger.kernel.org;
> martin.petersen@oracle.com
> Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org;
> Bean@vger.kernel.org; Huo@vger.kernel.org; beanhuo@micron.com
> Subject: RE: [PATCH] scsi: ufs-bsg: Remove ufs_bsg_get_query_desc_size
> function
>
> Thank you Bean
>
> > UFS descriptor size is no longer hardcoded (defined in the driver), the
> > size of the descriptor is reported by UFS itself, check the latest
> > kernel.
> >
> Invokes ufshcd_map_desc_id_to_length from bsg code, still problematic
> also in the latest kernel. The function limited the ufs bsg functionality.
> For example FBO descriptor published in Jedec UFS 4.0 spec and already exist
> in some UFS devices.
> Or others reserved descriptors (RFU_0/1) which can be used as vendor's
> descriptor. The function returns len =0
> We should be able to read any UFS descriptor of any size (up to
> QUERY_DESC_MAX_SIZE) or idn.
> According to the spec, the device will return the actual size.
>
> The ufs bsg driver should not impose any such limitation. It's one of its design
> guidelines.
> E.g. as done for the attributes, flags the kernel doesn't check it size(for
> attributes is the max - 4 bytes),
> nor access (read/write).
> And just returns an appropriate error code should an error occur.
>
> > This UFS driver is in the wrong location, I assume you are using an
> > older kernel version?
> Done
>
> Regards
> Arthur
>
> > -----Original Message-----
> > From: Bean Huo <huobean@gmail.com>
> > Sent: Tuesday, September 20, 2022 12:38 PM
> > To: Arthur Simchaev <Arthur.Simchaev@wdc.com>; James@vger.kernel.org;
> > E.J.Bottomley@vger.kernel.org; jejb@linux.vnet.ibm.com;
> > Martin@vger.kernel.org; K.Petersen@vger.kernel.org;
> > martin.petersen@oracle.com
> > Cc: linux-scsi@vger.kernel.org; linux-kernel@vger.kernel.org;
> > Bean@vger.kernel.org; Huo@vger.kernel.org; beanhuo@micron.com
> > Subject: Re: [PATCH] scsi: ufs-bsg: Remove ufs_bsg_get_query_desc_size
> > function
> >
> > CAUTION: This email originated from outside of Western Digital. Do not click
> > on links or open attachments unless you recognize the sender and know
> that
> > the content is safe.
> >
> >
> > Hi Arthur,
> >
> >
> > On Mon, 2022-06-20 at 15:26 +0300, Arthur Simchaev wrote:
> > > The bsg driver allows user space to send device management commands.
> > > As such, it is often used by field application engineers to debug
> > > various problems,
> > > and as a test bed for new features as well.
> > >
> > > Let's not bound ourself to hard coded descriptor sizes, as the new
> >
> > UFS descriptor size is no longer hardcoded (defined in the driver), the
> > size of the descriptor is reported by UFS itself, check the latest
> > kernel.
> >
> >
> > > Descriptors that supports new features are not defined yet.
> > >
> > > Signed-off-by: Arthur Simchaev <Arthur.Simchaev@wdc.com>
> > > ---
> > > drivers/scsi/ufs/ufs_bsg.c | 28 ++++------------------------
> > > 1 file changed, 4 insertions(+), 24 deletions(-)
> > >
> > > diff --git a/drivers/scsi/ufs/ufs_bsg.c b/drivers/scsi/ufs/ufs_bsg.c
> >
> > This UFS driver is in the wrong location, I assume you are using an
> > older kernel version?
> >
> > Kind regards,
> > Bean