iio: buffer-dmaengine: enable .get_dma_dev()

Wire up the .get_dma_dev() callback to use the DMA buffer infrastructure's
implementation. This ensures that DMABUF operations use the correct DMA
device for mapping, which is essential for proper operation on systems
where memory is mapped above the 32-bit range.

Without this callback, the core would fall back to using the IIO device's
parent, which may not have the appropriate DMA mask configuration for
high memory access.

Fixes: 7a86d46998 ("iio: buffer-dmaengine: Support new DMABUF based userspace API")
Reviewed-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Nuno Sá <nuno.sa@analog.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Nuno Sá 2025-10-07 10:15:23 +01:00 committed by Jonathan Cameron
parent f9c198c3cc
commit 3db847df99
1 changed files with 2 additions and 0 deletions

View File

@ -177,6 +177,8 @@ static const struct iio_buffer_access_funcs iio_dmaengine_buffer_ops = {
.lock_queue = iio_dma_buffer_lock_queue, .lock_queue = iio_dma_buffer_lock_queue,
.unlock_queue = iio_dma_buffer_unlock_queue, .unlock_queue = iio_dma_buffer_unlock_queue,
.get_dma_dev = iio_dma_buffer_get_dma_dev,
.modes = INDIO_BUFFER_HARDWARE, .modes = INDIO_BUFFER_HARDWARE,
.flags = INDIO_BUFFER_FLAG_FIXED_WATERMARK, .flags = INDIO_BUFFER_FLAG_FIXED_WATERMARK,
}; };