> Avri,
> 
> 
> On Sat, 2020-05-30 at 06:56 +0000, Avri Altman wrote:
> >
> > >
> > > From: Bean Huo <bean...@micron.com>
> > >
> > > For UFS 3.1, the normal unit descriptor is 10 bytes larger
> > > than the RPMB unit, however, both descriptors share the same
> > > desc_idn, to cover both unit descriptors with one length, we
> > > choose the normal unit descriptor length by desc_index.
> >
> > This is not what your code is doing.
> > For RPMB - desc size will not be 0x2d but remain 256.
> 
> sorry, I'm afraid I didn't quite get your point here.
> would you go over it again in detail please?
> 
> 
> >
> > Your strategy is still correct IMO - if you assign the larger size,
> > The device will not reply with error, but with the proper buffer.
> >
> > You can also rely that reading the rpmb unit descriptor will not
> > happen before
> > Reading regular luns, because this is happening in the first
> > slave_alloc.
> >
> 
> On my side, I saw the Well-know LU descriptor is read before
> regulaer/normal LU descritptor. see ufshcd_add_lus();
> 
> I did further debug to verify my patch, and the unit descriptor read
> sequence:
> 
> 1. read RPMB descriptor: desc_id 2, desc_index 0xc4
> 2. read LU 0 descriptor: desc_id 2, desc_index 0
> 3. read LU 0 descriptor: desc_id 2, desc_index 1
> 4. read LU 0 descriptor: desc_id 2, desc_index 2
> 5. read LU 0 descriptor: desc_id 2, desc_index 4
> ....
> 
> > Hence, I think you can drop the extra if, and just add the comment.
> >
> 
> so, this 'if' is still needed. otherwise, LU descriptor length will be
> initialized as 0x23(RPMB descriptor length).
> 
Ahha, ok.  I see your point now,
Fair enough.

Reviewed-by: Avri Altman <avri.alt...@wdc.com>

Reply via email to