On Fri, Apr 19, 2024 at 12:00:40AM +0300, Andy Shevchenko wrote: > On Thu, Apr 18, 2024 at 10:00:02PM +0300, Serge Semin wrote: > > On Thu, Apr 18, 2024 at 02:47:18PM +0300, Andy Shevchenko wrote: > > > On Wed, Apr 17, 2024 at 11:11:46PM +0300, Serge Semin wrote: > > > > On Tue, Apr 16, 2024 at 10:04:42PM +0300, Andy Shevchenko wrote: > > > > > On Tue, Apr 16, 2024 at 07:28:57PM +0300, Serge Semin wrote: > > ... > > > > > > > + if (dwc->direction == DMA_MEM_TO_DEV) { > > > > > > + sms = dwc->dws.m_master; > > > > > > + smsize = 0; > > > > > > + dms = dwc->dws.p_master; > > > > > > + dmsize = sconfig->dst_maxburst; > > > > > > > > > I would group it differently, i.e. > > > > > > > > > > sms = dwc->dws.m_master; > > > > > dms = dwc->dws.p_master; > > > > > smsize = 0; > > > > > dmsize = sconfig->dst_maxburst; > > > > > > > > Could you please clarify, why? From my point of view it was better to > > > > group the source master ID and the source master burst size inits > > > > together. > > > > > Sure. The point here is that when you look at the DMA channel configuration > > > usually you operate with the semantically tied fields for source and > > > destination. At least this is my experience, I always check both sides > > > of the transfer for the same field, e.g., master setting, hence I want to > > > have them coupled. > > > > Ok. I see. Thanks for clarification. I normally do that in another > > order: group the functionally related fields together - all > > source-related configs first, then all destination-related configs. > > Honestly I don't have strong opinion about this part, it's just my > > personal preference. Am I right to think that from your experience in > > kernel it's normally done in the order you described? > > In this driver I believe I have followed that one, yes. Agreed then. I'll change the order to the way you ask. -Serge(y) > > > > > > > + } else if (dwc->direction == DMA_DEV_TO_MEM) { > > > > > > + sms = dwc->dws.p_master; > > > > > > + smsize = sconfig->src_maxburst; > > > > > > + dms = dwc->dws.m_master; > > > > > > + dmsize = 0; > > > > > > + } else /* DMA_MEM_TO_MEM */ { > > > > > > + sms = dwc->dws.m_master; > > > > > > + smsize = 0; > > > > > > + dms = dwc->dws.m_master; > > > > > > + dmsize = 0; > > > > > > + } > > > > > > > > > > Ditto for two above cases. > > -- > With Best Regards, > Andy Shevchenko > >