sram.h 959 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * mach/sram.h - DaVinci simple SRAM allocator
  3. *
  4. * Copyright (C) 2009 David Brownell
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. */
  10. #ifndef __MACH_SRAM_H
  11. #define __MACH_SRAM_H
  12. /* ARBITRARY: SRAM allocations are multiples of this 2^N size */
  13. #define SRAM_GRANULARITY 512
  14. /*
  15. * SRAM allocations return a CPU virtual address, or NULL on error.
  16. * If a DMA address is requested and the SRAM supports DMA, its
  17. * mapped address is also returned.
  18. *
  19. * Errors include SRAM memory not being available, and requesting
  20. * DMA mapped SRAM on systems which don't allow that.
  21. */
  22. extern void *sram_alloc(size_t len, dma_addr_t *dma);
  23. extern void sram_free(void *addr, size_t len);
  24. /* Get the struct gen_pool * for use in platform data */
  25. extern struct gen_pool *sram_get_gen_pool(void);
  26. #endif /* __MACH_SRAM_H */