include/asm-generic/dma-mapping-broken.h
changeset 0 aa628870c1d3
equal deleted inserted replaced
-1:000000000000 0:aa628870c1d3
       
     1 #ifndef _ASM_GENERIC_DMA_MAPPING_H
       
     2 #define _ASM_GENERIC_DMA_MAPPING_H
       
     3 
       
     4 /* define the dma api to allow compilation but not linking of
       
     5  * dma dependent code.  Code that depends on the dma-mapping
       
     6  * API needs to set 'depends on HAS_DMA' in its Kconfig
       
     7  */
       
     8 
       
     9 struct scatterlist;
       
    10 
       
    11 extern void *
       
    12 dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
       
    13 		   gfp_t flag);
       
    14 
       
    15 extern void
       
    16 dma_free_coherent(struct device *dev, size_t size, void *cpu_addr,
       
    17 		    dma_addr_t dma_handle);
       
    18 
       
    19 #define dma_alloc_noncoherent(d, s, h, f) dma_alloc_coherent(d, s, h, f)
       
    20 #define dma_free_noncoherent(d, s, v, h) dma_free_coherent(d, s, v, h)
       
    21 
       
    22 extern dma_addr_t
       
    23 dma_map_single(struct device *dev, void *ptr, size_t size,
       
    24 	       enum dma_data_direction direction);
       
    25 
       
    26 extern void
       
    27 dma_unmap_single(struct device *dev, dma_addr_t dma_addr, size_t size,
       
    28 		 enum dma_data_direction direction);
       
    29 
       
    30 extern int
       
    31 dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
       
    32 	   enum dma_data_direction direction);
       
    33 
       
    34 extern void
       
    35 dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries,
       
    36 	     enum dma_data_direction direction);
       
    37 
       
    38 extern dma_addr_t
       
    39 dma_map_page(struct device *dev, struct page *page, unsigned long offset,
       
    40 	     size_t size, enum dma_data_direction direction);
       
    41 
       
    42 extern void
       
    43 dma_unmap_page(struct device *dev, dma_addr_t dma_address, size_t size,
       
    44 	       enum dma_data_direction direction);
       
    45 
       
    46 extern void
       
    47 dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size,
       
    48 			enum dma_data_direction direction);
       
    49 
       
    50 extern void
       
    51 dma_sync_single_range_for_cpu(struct device *dev, dma_addr_t dma_handle,
       
    52 			      unsigned long offset, size_t size,
       
    53 			      enum dma_data_direction direction);
       
    54 
       
    55 extern void
       
    56 dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nelems,
       
    57 		    enum dma_data_direction direction);
       
    58 
       
    59 #define dma_sync_single_for_device dma_sync_single_for_cpu
       
    60 #define dma_sync_single_range_for_device dma_sync_single_range_for_cpu
       
    61 #define dma_sync_sg_for_device dma_sync_sg_for_cpu
       
    62 
       
    63 extern int
       
    64 dma_mapping_error(struct device *dev, dma_addr_t dma_addr);
       
    65 
       
    66 extern int
       
    67 dma_supported(struct device *dev, u64 mask);
       
    68 
       
    69 extern int
       
    70 dma_set_mask(struct device *dev, u64 mask);
       
    71 
       
    72 extern int
       
    73 dma_get_cache_alignment(void);
       
    74 
       
    75 extern int
       
    76 dma_is_consistent(struct device *dev, dma_addr_t dma_handle);
       
    77 
       
    78 extern void
       
    79 dma_cache_sync(struct device *dev, void *vaddr, size_t size,
       
    80 	       enum dma_data_direction direction);
       
    81 
       
    82 #endif /* _ASM_GENERIC_DMA_MAPPING_H */