On 28-01-20, 12:15, Peter Ujfalusi wrote: > Vinod, > > On 27/01/2020 15.21, Peter Ujfalusi wrote: > > Hi Vinod, > > > > Based on customer reports we have identified two issues with the UDMA driver: > > > > TX completion (1st patch): > > The scheduled work based workaround for checking for completion worked well for > > UART, but it had significant impact on SPI performance. > > The underlying issue is coming from the fact that we have split data movement > > architecture. > > In order to know that the transfer is really done we need to check the remote > > end's (PDMA) byte counter. > > > > RX channel teardown with stale data in PDMA (2nd patch): > > If we try to stop the RX DMA channel (teardown) then PDMA is trying to flush the > > data is might received from a peripheral, but if UDMA does not have a packet to > > use for this draining than it is going to push back on the PDMA and the flush > > will never completes. > > The workaround is to use a dummy descriptor for flush purposes when the channel > > is terminated and we did not have active transfer (no descriptor for UDMA). > > This allows UDMA to drain the data and the teardown can complete. > > > > The last two patch is to use common code to set up the TR parameters for > > slave_sg, cyclic and memcpy. The setup code is the same as we used for memcpy > > with the change we can handle 4.2GB sg elements and periods in case of cyclic. > > It is also nice that we have single function to do the configuration. > > I have marked these patches as for-next as 5.5 was not released yet. > Would it be possible to have these as fixes for 5.6? Sure but are they really fixes, why cant they go for next release :) They seem to improve things for sure, but do we want to call them as fixes..? -- ~Vinod