]> 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:51:41 +0000 (09:51 +0100)
commit2952cd9b7c7f776e5eea5a06ab73aa356a8ca939
tree6c2f970a9acab7f98ddd908aab5c402f93c2d75d
parent3db312e06851996e7fb27cb5a8ccab4c0f9cdb93
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