[PATCH v10 0/6] iio: new DMABUF based API v10

From: Paul Cercueil
Date: Wed Jun 05 2024 - 07:16:06 EST


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