On Thu, Mar 28, 2024, at 20:39, Allen wrote: >> > >> > Since almost every driver associates the tasklet with the >> > dma_chan, we could go one step further and add the >> > work_queue structure directly into struct dma_chan, >> > with the wrapper operating on the dma_chan rather than >> > the work_queue. >> >> I think that is very great idea. having this wrapped in dma_chan would >> be very good way as well >> >> Am not sure if Allen is up for it :-) > > Thanks Arnd, I know we did speak about this at LPC. I did start > working on using completion. I dropped it as I thought it would > be easier to move to workqueues. It's definitely easier to do the workqueue conversion as a first step, and I agree adding support for the completion right away is probably too much. Moving the work_struct into the dma_chan is probably not too hard though, if you leave your current approach for the cases where the tasklet is part of the dma_dev rather than the dma_chan. Arnd