linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/5] iio: buffer: add output buffer and cyclic mode
@ 2021-02-12 10:20 Alexandru Ardelean
  2021-02-12 10:20 ` [RFC PATCH 1/5] iio: Add output buffer support Alexandru Ardelean
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Alexandru Ardelean @ 2021-02-12 10:20 UTC (permalink / raw)
  To: linux-kernel, linux-iio
  Cc: lars, Michael.Hennerich, jic23, nuno.sa, dragos.bogdan,
	Alexandru Ardelean

Largely, an adaptation of Lars' work, applied on the IIO multi-buffer
support + high-speed/mmap support [1].
Found here:
  https://github.com/larsclausen/linux/commits/iio-high-speed-5.10
But this isn't tested.

[1] Requires that these sets be applied (in this order):
* https://lore.kernel.org/linux-iio/20210211122452.78106-1-alexandru.ardelean@analog.com/T/#t
* https://lore.kernel.org/linux-iio/20210212101143.18993-1-alexandru.ardelean@analog.com/T/#t

Some of the variation from the original work are:
1. It's applied on top of the multibuffer support; so the direction of the
   data is set per iio_buffer, and not iio_dev
2. Cyclic mode is a separate patch
3. devm_iio_dmaengine_buffer_alloc() requires the definition of
   'enum iio_buffer_direction'; which means that 'linux/iio/buffer.h'
   needs to be included in  buffer-dma.h; Lars tried to use a bool, but
   using the enum seems a bit more consistent and allows us to maybe
   go down the route of both I/O buffers (some day); not sure if
   that's sane or not (you never know)
4. Various re-formatting; and added some docstrings where I remembered
   to so so

Lars-Peter Clausen (5):
  iio: Add output buffer support
  iio: kfifo-buffer: Add output buffer support
  iio: buffer-dma: Allow to provide custom buffer ops
  iio: buffer-dma: Add output buffer support
  iio: buffer-dma: add support for cyclic DMA transfers

 drivers/iio/adc/adi-axi-adc.c                 |   5 +-
 drivers/iio/buffer/industrialio-buffer-dma.c  | 120 ++++++++++++++++--
 .../buffer/industrialio-buffer-dmaengine.c    |  57 +++++++--
 drivers/iio/buffer/kfifo_buf.c                |  50 ++++++++
 drivers/iio/industrialio-buffer.c             | 110 +++++++++++++++-
 include/linux/iio/buffer-dma.h                |  11 +-
 include/linux/iio/buffer-dmaengine.h          |   7 +-
 include/linux/iio/buffer.h                    |   7 +
 include/linux/iio/buffer_impl.h               |  11 ++
 include/uapi/linux/iio/buffer.h               |   1 +
 10 files changed, 348 insertions(+), 31 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-02-14 16:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-12 10:20 [RFC PATCH 0/5] iio: buffer: add output buffer and cyclic mode Alexandru Ardelean
2021-02-12 10:20 ` [RFC PATCH 1/5] iio: Add output buffer support Alexandru Ardelean
2021-02-14 16:21   ` Jonathan Cameron
2021-02-12 10:20 ` [RFC PATCH 2/5] iio: kfifo-buffer: " Alexandru Ardelean
2021-02-14 16:23   ` Jonathan Cameron
2021-02-12 10:20 ` [RFC PATCH 3/5] iio: buffer-dma: Allow to provide custom buffer ops Alexandru Ardelean
2021-02-12 10:20 ` [RFC PATCH 4/5] iio: buffer-dma: Add output buffer support Alexandru Ardelean
2021-02-14 16:29   ` Jonathan Cameron
2021-02-12 10:20 ` [RFC PATCH 5/5] iio: buffer-dma: add support for cyclic DMA transfers Alexandru Ardelean
2021-02-14 16:31   ` Jonathan Cameron
2021-02-14 16:32 ` [RFC PATCH 0/5] iio: buffer: add output buffer and cyclic mode Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).