• Jonathan Cameron's avatar
    iio: core: Fix IIO_ALIGN and rename as it was not sufficiently large · 12c4efe3
    Jonathan Cameron authored
    Discussion of the series:
    https://lore.kernel.org/all/20220405135758.774016-1-catalin.marinas@arm.com/
    mm, arm64: Reduce ARCH_KMALLOC_MINALIGN brought to my attention that
    our current IIO usage of L1CACHE_ALIGN is insufficient as their are Arm
    platforms out their with non coherent DMA and larger cache lines at
    at higher levels of their cache hierarchy.
    
    Rename the define to make it's purpose more explicit. It will be used
    much more widely going forwards (to replace incorrect ____cacheline_aligned
    markings.
    
    Note this patch will greatly reduce the padding on some architectures
    that have smaller requirements for DMA safe buffers.
    
    The history of changing values of ARCH_KMALLOC_MINALIGN via
    ARCH_DMA_MINALIGN on arm64 is rather complex. I'm not tagging this
    as fixing a particular patch from that route as it's not clear what to tag.
    
    Most recently a change to bring them back inline was reverted because
    of some Qualcomm Kryo cores with an L2 cache with 128-byte lines
    sitting above the point of coherency.
    
    c1132702 Revert "arm64: cache: Lower ARCH_DMA_MINALIGN to 64 (L1_CACHE_BYTES)"
    That reverts:
    65688d2a arm64: cache: Lower ARCH_DMA_MINALIGN to 64 (L1_CACHE_BYTES) which
    refers to the change originally being motivated by Thunder x1 performance
    rather than correctness.
    
    Fixes: 6f7c8ee5 ("staging:iio: Add ability to allocate private data space to iio_allocate_device")
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    Acked-by: default avatarNuno Sá <nuno.sa@analog.com>
    Link: https://lore.kernel.org/r/20220508175712.647246-2-jic23@kernel.org
    12c4efe3
bma400_core.c 34.7 KB