Hi Jonathan, Here is a revised (and hopefully final?) version of my DMABUF patchset. This v10 removes the extra "flags" parameter of dmaengine_prep_peripheral_dma_vec(), and adds kernel doc to the function as Vinod requested. As Nuno upstreamed support for output buffers, I (slightly) modified patch 5/6 and now output buffers are supported with the DMABUF API. All I did was remove a "fail if output" check really. This was based on next-20240605. Changelog: - [1/6]: - Add kernel doc to dmaengine_prep_peripheral_dma_vec() - Remove extra flags parameter - [2/6]: - Use the new function prototype (without the extra prep_flags). - [5/6]: - Remove extra flags parameter to dmaengine_prep_peripheral_dma_vec() - Add support for TX transfers Cheers, -Paul Paul Cercueil (6): dmaengine: Add API function dmaengine_prep_peripheral_dma_vec() dmaengine: dma-axi-dmac: Implement device_prep_peripheral_dma_vec iio: core: Add new DMABUF interface infrastructure iio: buffer-dma: Enable support for DMABUFs iio: buffer-dmaengine: Support new DMABUF based userspace API Documentation: iio: Document high-speed DMABUF based API Documentation/iio/iio_dmabuf_api.rst | 54 ++ Documentation/iio/index.rst | 1 + drivers/dma/dma-axi-dmac.c | 40 ++ drivers/iio/Kconfig | 1 + drivers/iio/buffer/industrialio-buffer-dma.c | 180 ++++++- .../buffer/industrialio-buffer-dmaengine.c | 62 ++- drivers/iio/industrialio-buffer.c | 462 ++++++++++++++++++ include/linux/dmaengine.h | 33 ++ include/linux/iio/buffer-dma.h | 31 ++ include/linux/iio/buffer_impl.h | 30 ++ include/uapi/linux/iio/buffer.h | 22 + 11 files changed, 896 insertions(+), 20 deletions(-) create mode 100644 Documentation/iio/iio_dmabuf_api.rst -- 2.43.0