Skip to content

Commit 8e98b87

Browse files
nunojsajic23
authored andcommitted
iio: imu: adis: ensure proper DMA alignment
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 the sigma_delta ADCs. [1]: https://lore.kernel.org/linux-iio/20220508175712.647246-2-jic23@kernel.org/ Fixes: ccd2b52 ("staging:iio: Add common ADIS library") Signed-off-by: Nuno Sa <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20240117-adis-improv-v1-1-7f90e9fad200@analog.com Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
1 parent f1dfcba commit 8e98b87

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

include/linux/iio/imu/adis.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
#include <linux/spi/spi.h>
1313
#include <linux/interrupt.h>
14+
#include <linux/iio/iio.h>
1415
#include <linux/iio/types.h>
1516

1617
#define ADIS_WRITE_REG(reg) ((0x80 | (reg)))
@@ -131,7 +132,7 @@ struct adis {
131132
unsigned long irq_flag;
132133
void *buffer;
133134

134-
u8 tx[10] ____cacheline_aligned;
135+
u8 tx[10] __aligned(IIO_DMA_MINALIGN);
135136
u8 rx[4];
136137
};
137138

0 commit comments

Comments
 (0)