On Mon, May 11, 2020 at 04:15:57PM +0530, Amit Tomer wrote: > Hi > > Thanks for the reply. > > > I'm in favor of getting rid of bitfields due to its not so defined way of > > working (and forgive me for using it in first place) but I don't quite like > > the current approach. > > Because , its less readable the way we are writing to those different fields ? > But this can be made more verbose by adding some comments around . > I don't like the way the hw linked lists are accessed (using an array with enums). > > Rather I'd like to have custom bitmasks (S900/S700/S500?) for writing to those > > fields. > > > I think S900 and S500 are same as pointed out by Cristian. and I didn't get by > creating custom bitmasks for it ? > > Did you mean function like: > > lli->hw[OWL_DMADESC_FLEN]= llc_hw_FLEN(len, FCNT_VALUE, FCNT_SHIFT); > I meant to keep using old struct for accessing the linked list and replacing bitfields with masks as below: struct owl_dma_lli_hw { ... u32 flen; u32 fcnt; ... }; hw->flen = len & OWL_S900_DMA_FLEN_MASK; hw->fcnt = 1 & OWL_S900_DMA_FCNT_MASK; Then you can use different masks for S700/S900 based on the compatible. Thanks, Mani > Thanks > -Amit _______________________________________________ linux-actions mailing list linux-actions@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-actions