Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: adc: ti-adc084s021: Fix alignment for DMA safety

____cacheline_aligned is an insufficient guarantee for non-coherent DMA
on platforms with 128 byte cachelines above L1. Switch to the updated
IIO_DMA_MINALIGN definition.

Update the comment to include 'may'.

Fixes: 3691e5a69449 ("iio: adc: add driver for the ti-adc084s021 chip")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Nuno Sá <nuno.sa@analog.com>
Acked-by: Mårten Lindahl <marten.lindahl@axis.com>
Link: https://lore.kernel.org/r/20220508175712.647246-30-jic23@kernel.org

+2 -2
+2 -2
drivers/iio/adc/ti-adc084s021.c
··· 32 32 s64 ts __aligned(8); 33 33 } scan; 34 34 /* 35 - * DMA (thus cache coherency maintenance) requires the 35 + * DMA (thus cache coherency maintenance) may require the 36 36 * transfer buffers to live in their own cache line. 37 37 */ 38 - u16 tx_buf[4] ____cacheline_aligned; 38 + u16 tx_buf[4] __aligned(IIO_DMA_MINALIGN); 39 39 __be16 rx_buf[5]; /* First 16-bits are trash */ 40 40 }; 41 41