Re: [PATCH v3 00/11] iio: new DMABUF based API, v3

From: Nuno Sá
Date: Tue Apr 04 2023 - 03:42:27 EST


On Mon, 2023-04-03 at 17:47 +0200, Paul Cercueil wrote:
> Hi Jonathan,
>
> Here's the v3 of my patchset that introduces a new interface based on
> DMABUF objects to complement the fileio API, and adds write() support to
> the existing fileio API.
>
> It changed quite a lot since V2; the IIO subsystem is now just a DMABUF
> importer, and all the complexity related to handling creation, deletion
> and export of DMABUFs (including DMA mapping etc.) is gone.
>
> This new interface will be used by Libiio. The code is ready[1] and will
> be merged to the main branch as soon as the kernel bits are accepted
> upstream.
>
> Note that Libiio (and its server counterpart, iiod) use this new
> interface in two different ways:
> - by memory-mapping the DMABUFs to access the sample data directly,
>   which is much faster than using the existing fileio API as the sample
>   data does not need to be copied;
> - by passing the DMABUFs around directly to the USB stack, in a
>   device-to-device zero-copy fashion, using a new DMABUF interface for
>   the USB (FunctionFS to be exact) stack, which is being upstreamed in
>   parallel of this patchset [2].
>
> As for write() support, Nuno (Cc'd) said he will work on upstreaming the
> DAC counterpart of adc/adi-axi-adc.c in the next few weeks, so there
> will be a user for the buffer write() support. I hope you are okay with
> this - otherwise, we can just wait until this work is done, and I still
> benefit from sending this patchset early to get feedback.
>

Indeed, I already started a discussion [1] since what we have now for
adc/adi-axi-adc.c has some major flaws (IMHO). So I'm hopping to get some
feedback/discussion to get "righter" from the beginning.


[1]: https://lore.kernel.org/linux-iio/dac3967805d7ddbd4653ead6d50e614844e0b70b.camel@xxxxxxxxx/T/#u

- Nuno Sá