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/[email protected]/ Fixes: ccd2b52 ("staging:iio: Add common ADIS library") Signed-off-by: Nuno Sa <[email protected]> Link: https://lore.kernel.org/r/[email protected] Cc: <[email protected]> Signed-off-by: Jonathan Cameron <[email protected]>
1 parent f1dfcba commit 8e98b87

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

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)