iio: buffer-dmaengine: Report buffer length requirements
authorLars-Peter Clausen <lars@metafoo.de>
Wed, 11 Dec 2019 11:56:15 +0000 (13:56 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 29 Dec 2019 15:20:09 +0000 (15:20 +0000)
commit4538c185680996d7328beac629dbdb7dd3f8f34e
treee186ecfcd0fd73d506d778549fd8413a706072b9
parent2a4fb4def9577cde9d541693a0304e9aab86904b
iio: buffer-dmaengine: Report buffer length requirements

The dmaengine buffer has some length alignment requirements that can differ
from platform to platform. If the length alignment requirements are not met
unexpected behavior like dropping of samples can occur.

Currently these requirements are not reported and applications need to know
the requirements of the platform by some out-of-band means.

Add a new buffer attribute that reports the length alignment requirements
called `length_align_bytes`. The reported length alignment is in bytes that
means the buffer length alignment in sample sets depends on the number of
enabled channels and the bytes per channel. Applications using this
attribute to determine the buffer size requirements need to consider this.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Documentation/ABI/testing/sysfs-bus-iio-dma-buffer [new file with mode: 0644]
drivers/iio/buffer/industrialio-buffer-dmaengine.c