|
|
Log in / Subscribe / Register

iio: new DMABUF based API v10

From:  Paul Cercueil <paul-AT-crapouillou.net>
To:  Jonathan Cameron <jic23-AT-kernel.org>, Lars-Peter Clausen <lars-AT-metafoo.de>, Vinod Koul <vkoul-AT-kernel.org>, Sumit Semwal <sumit.semwal-AT-linaro.org>, Christian König <christian.koenig-AT-amd.com>
Subject:  [PATCH v10 0/6] iio: new DMABUF based API v10
Date:  Wed, 05 Jun 2024 13:08:39 +0200
Message-ID:  <20240605110845.86740-1-paul@crapouillou.net>
Cc:  Jonathan Corbet <corbet-AT-lwn.net>, Nuno Sa <nuno.sa-AT-analog.com>, linux-iio-AT-vger.kernel.org, linux-doc-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, dmaengine-AT-vger.kernel.org, linux-media-AT-vger.kernel.org, dri-devel-AT-lists.freedesktop.org, linaro-mm-sig-AT-lists.linaro.org, Paul Cercueil <paul-AT-crapouillou.net>
Archive-link:  Article

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

Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds