Hi Laurent, On 10-02-20, 16:06, Laurent Pinchart wrote: > > >> The use case here is not to switch to a new configuration, but to switch > > >> to a new buffer. If the transfer had to be terminated manually first, > > >> the DMA engine would potentially miss a frame, which is not acceptable. > > >> We need an atomic way to switch to the next transfer. > > > > > > So in this case you have, let's say a cyclic descriptor with N buffers > > > and they are cyclically capturing data and providing to client/user.. > > > > For the display case it's cyclic over a single buffer that is repeatedly > > displayed over and over again until a new one replaces it, when > > userspace wants to change the content on the screen. Userspace only has > > to provide a new buffer when content changes, otherwise the display has > > to keep displaying the same one. > > Is the use case clear enough, or do you need more information ? Are you > fine with the API for this kind of use case ? So we *know* when a new buffer is being used? IOW would it be possible for display (rather a dmaengine facing display wrapper) to detect that we are reusing an old buffer and keep the cyclic and once detected prepare a new descriptor, submit a new one and then terminate old one which should trigger next transaction to be submitted Would that make sense here? -- ~Vinod