dma-mapping_32.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef _ASM_SPARC_DMA_MAPPING_H
  2. #define _ASM_SPARC_DMA_MAPPING_H
  3. #include <linux/types.h>
  4. struct device;
  5. struct scatterlist;
  6. struct page;
  7. extern void *dma_alloc_coherent(struct device *dev, size_t size,
  8. dma_addr_t *dma_handle, gfp_t flag);
  9. extern void dma_free_coherent(struct device *dev, size_t size,
  10. void *cpu_addr, dma_addr_t dma_handle);
  11. extern dma_addr_t dma_map_single(struct device *dev, void *cpu_addr,
  12. size_t size,
  13. enum dma_data_direction direction);
  14. extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr,
  15. size_t size,
  16. enum dma_data_direction direction);
  17. extern dma_addr_t dma_map_page(struct device *dev, struct page *page,
  18. unsigned long offset, size_t size,
  19. enum dma_data_direction direction);
  20. extern void dma_unmap_page(struct device *dev, dma_addr_t dma_address,
  21. size_t size, enum dma_data_direction direction);
  22. extern int dma_map_sg(struct device *dev, struct scatterlist *sg,
  23. int nents, enum dma_data_direction direction);
  24. extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg,
  25. int nents, enum dma_data_direction direction);
  26. extern void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle,
  27. size_t size,
  28. enum dma_data_direction direction);
  29. extern void dma_sync_single_for_device(struct device *dev,
  30. dma_addr_t dma_handle,
  31. size_t size,
  32. enum dma_data_direction direction);
  33. extern void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
  34. int nelems, enum dma_data_direction direction);
  35. extern void dma_sync_sg_for_device(struct device *dev,
  36. struct scatterlist *sg, int nelems,
  37. enum dma_data_direction direction);
  38. #endif /* _ASM_SPARC_DMA_MAPPING_H */