]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
iio: commom: st_sensors: ensure proper DMA alignment
authorNuno Sa <nuno.sa@analog.com>
Wed, 31 Jan 2024 09:16:47 +0000 (10:16 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Feb 2024 08:25:06 +0000 (09:25 +0100)
commite0cb5cc558f0d300404e8bb81e48fe7b15975dcb
treeeb0be5192e6c19e18fc380d01a50df27661f2d19
parentb90126c86d83912688501826643ea698f0df1728
iio: commom: st_sensors: ensure proper DMA alignment

commit 862cf85fef85becc55a173387527adb4f076fab0 upstream.

Aligning the buffer to the L1 cache is not sufficient in some platforms
as they might have larger cacheline sizes for caches after L1 and thus,
we can't guarantee DMA safety.

That was the whole reason to introduce IIO_DMA_MINALIGN in [1]. Do the same
for st_sensors common buffer.

While at it, moved the odr_lock before buffer_data as we definitely
don't want any other data to share a cacheline with the buffer.

[1]: https://lore.kernel.org/linux-iio/20220508175712.647246-2-jic23@kernel.org/

Fixes: e031d5f558f1 ("iio:st_sensors: remove buffer allocation at each buffer enable")
Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Cc: <Stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20240131-dev_dma_safety_stm-v2-1-580c07fae51b@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/iio/common/st_sensors.h