On 26-08-20, 10:00, Pierre-Louis Bossart wrote:
> 
> 
> > > +/* v1.2 device - SDCA address mapping */
> > 
> > Can you please add description of bits used by each field here,
> > something like we have done for DevId
> 
> were you referring to something like this?
> 
>  * Spec definition
>  *   Register         Bit     Contents
>  *   DevId_0 [7:4]    47:44   sdw_version
>  *   DevId_0 [3:0]    43:40   unique_id
>  *   DevId_1          39:32   mfg_id [15:8]
>  *   DevId_2          31:24   mfg_id [7:0]
>  *   DevId_3          23:16   part_id [15:8]
>  *   DevId_4          15:08   part_id [7:0]
>  *   DevId_5          07:00   class_id

Correct

> > 
> > > +#define SDW_SDCA_CTL(fun, ent, ctl, ch)          (BIT(30) |              
> > >         \
> > > +                                          (((fun) & 0x7) << 22) |        
> > > \
> > > +                                          (((ent) & 0x40) << 15) |       
> > > \
> > > +                                          (((ent) & 0x3f) << 7) |        
> > > \
> > > +                                          (((ctl) & 0x30) << 15) |       
> > > \
> > > +                                          (((ctl) & 0x0f) << 3) |        
> > > \
> > > +                                          (((ch) & 0x38) << 12) |        
> > > \
> > > +                                          ((ch) & 0x07))
> > 
> > GENMASK() for the bitmaps here please. Also it would look very neat by
> > using FIELD_PREP() here, you can skip the bit shifts and they would be
> > done by FIELD_PREP() for you.
> 
> ok.

FWIW I am testing changes to do the conversion for subsystem to use nice
stuff in bitfield.h


-- 
~Vinod

Reply via email to