linux/arch/sparc/include/asm/dma-mapping_32.h
<<
>>
Prefs
   1#ifndef _ASM_SPARC_DMA_MAPPING_H
   2#define _ASM_SPARC_DMA_MAPPING_H
   3
   4#include <linux/types.h>
   5
   6struct device;
   7struct scatterlist;
   8struct page;
   9
  10#define DMA_ERROR_CODE  (~(dma_addr_t)0x0)
  11
  12extern int dma_supported(struct device *dev, u64 mask);
  13extern int dma_set_mask(struct device *dev, u64 dma_mask);
  14extern void *dma_alloc_coherent(struct device *dev, size_t size,
  15                                dma_addr_t *dma_handle, gfp_t flag);
  16extern void dma_free_coherent(struct device *dev, size_t size,
  17                              void *cpu_addr, dma_addr_t dma_handle);
  18extern dma_addr_t dma_map_single(struct device *dev, void *cpu_addr,
  19                                 size_t size,
  20                                 enum dma_data_direction direction);
  21extern void dma_unmap_single(struct device *dev, dma_addr_t dma_addr,
  22                             size_t size,
  23                             enum dma_data_direction direction);
  24extern dma_addr_t dma_map_page(struct device *dev, struct page *page,
  25                               unsigned long offset, size_t size,
  26                               enum dma_data_direction direction);
  27extern void dma_unmap_page(struct device *dev, dma_addr_t dma_address,
  28                           size_t size, enum dma_data_direction direction);
  29extern int dma_map_sg(struct device *dev, struct scatterlist *sg,
  30                      int nents, enum dma_data_direction direction);
  31extern void dma_unmap_sg(struct device *dev, struct scatterlist *sg,
  32                         int nents, enum dma_data_direction direction);
  33extern void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle,
  34                                    size_t size,
  35                                    enum dma_data_direction direction);
  36extern void dma_sync_single_for_device(struct device *dev,
  37                                       dma_addr_t dma_handle,
  38                                       size_t size,
  39                                       enum dma_data_direction direction);
  40extern void dma_sync_single_range_for_cpu(struct device *dev,
  41                                          dma_addr_t dma_handle,
  42                                          unsigned long offset,
  43                                          size_t size,
  44                                          enum dma_data_direction direction);
  45extern void dma_sync_single_range_for_device(struct device *dev,
  46                                             dma_addr_t dma_handle,
  47                                             unsigned long offset, size_t size,
  48                                             enum dma_data_direction direction);
  49extern void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg,
  50                                int nelems, enum dma_data_direction direction);
  51extern void dma_sync_sg_for_device(struct device *dev,
  52                                   struct scatterlist *sg, int nelems,
  53                                   enum dma_data_direction direction);
  54extern int dma_mapping_error(struct device *dev, dma_addr_t dma_addr);
  55extern int dma_get_cache_alignment(void);
  56
  57#define dma_alloc_noncoherent   dma_alloc_coherent
  58#define dma_free_noncoherent    dma_free_coherent
  59
  60#endif /* _ASM_SPARC_DMA_MAPPING_H */
  61
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.