1*6e295186SSimon Glass /* 2*6e295186SSimon Glass * Copyright (c) 2015 Google, Inc 3*6e295186SSimon Glass * 4*6e295186SSimon Glass * SPDX-License-Identifier: GPL-2.0+ 5*6e295186SSimon Glass */ 6*6e295186SSimon Glass 7*6e295186SSimon Glass #ifndef __ALIGNMEM_H 8*6e295186SSimon Glass #define __ALIGNMEM_H 9*6e295186SSimon Glass 10*6e295186SSimon Glass /* 11*6e295186SSimon Glass * ARCH_DMA_MINALIGN is defined in asm/cache.h for each architecture. It 12*6e295186SSimon Glass * is used to align DMA buffers. 13*6e295186SSimon Glass */ 14*6e295186SSimon Glass #ifndef __ASSEMBLY__ 15*6e295186SSimon Glass #include <asm/cache.h> 16*6e295186SSimon Glass 17*6e295186SSimon Glass #include <malloc.h> 18*6e295186SSimon Glass 19*6e295186SSimon Glass static inline void *malloc_cache_aligned(size_t size) 20*6e295186SSimon Glass { 21*6e295186SSimon Glass return memalign(ARCH_DMA_MINALIGN, ALIGN(size, ARCH_DMA_MINALIGN)); 22*6e295186SSimon Glass } 23*6e295186SSimon Glass #endif 24*6e295186SSimon Glass 25*6e295186SSimon Glass #endif /* __ALIGNMEM_H */ 26