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

iio: dac: ad7303: 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: f83478240e74 ("iio:dac: Add support for the AD7303")
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Acked-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20220508175712.647246-58-jic23@kernel.org

+2 -2
+2 -2
drivers/iio/dac/ad7303.c
··· 44 44 45 45 struct mutex lock; 46 46 /* 47 - * DMA (thus cache coherency maintenance) requires the 47 + * DMA (thus cache coherency maintenance) may require the 48 48 * transfer buffers to live in their own cache lines. 49 49 */ 50 - __be16 data ____cacheline_aligned; 50 + __be16 data __aligned(IIO_DMA_MINALIGN); 51 51 }; 52 52 53 53 static int ad7303_write(struct ad7303_state *st, unsigned int chan,