diff options
Diffstat (limited to 'kernel/arch/arm/mach-davinci/include/mach/sram.h')
-rw-r--r-- | kernel/arch/arm/mach-davinci/include/mach/sram.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/kernel/arch/arm/mach-davinci/include/mach/sram.h b/kernel/arch/arm/mach-davinci/include/mach/sram.h new file mode 100644 index 000000000..4e5db5621 --- /dev/null +++ b/kernel/arch/arm/mach-davinci/include/mach/sram.h @@ -0,0 +1,30 @@ +/* + * mach/sram.h - DaVinci simple SRAM allocator + * + * Copyright (C) 2009 David Brownell + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __MACH_SRAM_H +#define __MACH_SRAM_H + +/* ARBITRARY: SRAM allocations are multiples of this 2^N size */ +#define SRAM_GRANULARITY 512 + +/* + * SRAM allocations return a CPU virtual address, or NULL on error. + * If a DMA address is requested and the SRAM supports DMA, its + * mapped address is also returned. + * + * Errors include SRAM memory not being available, and requesting + * DMA mapped SRAM on systems which don't allow that. + */ +extern void *sram_alloc(size_t len, dma_addr_t *dma); +extern void sram_free(void *addr, size_t len); + +/* Get the struct gen_pool * for use in platform data */ +extern struct gen_pool *sram_get_gen_pool(void); + +#endif /* __MACH_SRAM_H */ |