2008-07-18 08:55:51 +04:00
# ifndef _ASM_SPARC_DMA_MAPPING_H
# define _ASM_SPARC_DMA_MAPPING_H
2008-08-28 05:01:36 +04:00
# include <linux/types.h>
2008-07-18 08:55:51 +04:00
2008-08-28 05:01:36 +04:00
struct device ;
struct scatterlist ;
struct page ;
# define DMA_ERROR_CODE (~(dma_addr_t)0x0)
extern int dma_supported ( struct device * dev , u64 mask ) ;
extern int dma_set_mask ( struct device * dev , u64 dma_mask ) ;
extern void * dma_alloc_coherent ( struct device * dev , size_t size ,
dma_addr_t * dma_handle , gfp_t flag ) ;
extern void dma_free_coherent ( struct device * dev , size_t size ,
void * cpu_addr , dma_addr_t dma_handle ) ;
extern dma_addr_t dma_map_single ( struct device * dev , void * cpu_addr ,
size_t size ,
enum dma_data_direction direction ) ;
extern void dma_unmap_single ( struct device * dev , dma_addr_t dma_addr ,
size_t size ,
enum dma_data_direction direction ) ;
extern dma_addr_t dma_map_page ( struct device * dev , struct page * page ,
unsigned long offset , size_t size ,
enum dma_data_direction direction ) ;
extern void dma_unmap_page ( struct device * dev , dma_addr_t dma_address ,
size_t size , enum dma_data_direction direction ) ;
extern int dma_map_sg ( struct device * dev , struct scatterlist * sg ,
int nents , enum dma_data_direction direction ) ;
extern void dma_unmap_sg ( struct device * dev , struct scatterlist * sg ,
int nents , enum dma_data_direction direction ) ;
extern void dma_sync_single_for_cpu ( struct device * dev , dma_addr_t dma_handle ,
size_t size ,
enum dma_data_direction direction ) ;
extern void dma_sync_single_for_device ( struct device * dev ,
dma_addr_t dma_handle ,
size_t size ,
enum dma_data_direction direction ) ;
extern void dma_sync_single_range_for_cpu ( struct device * dev ,
dma_addr_t dma_handle ,
unsigned long offset ,
size_t size ,
enum dma_data_direction direction ) ;
extern void dma_sync_single_range_for_device ( struct device * dev ,
dma_addr_t dma_handle ,
unsigned long offset , size_t size ,
enum dma_data_direction direction ) ;
extern void dma_sync_sg_for_cpu ( struct device * dev , struct scatterlist * sg ,
int nelems , enum dma_data_direction direction ) ;
extern void dma_sync_sg_for_device ( struct device * dev ,
struct scatterlist * sg , int nelems ,
enum dma_data_direction direction ) ;
extern int dma_mapping_error ( struct device * dev , dma_addr_t dma_addr ) ;
extern int dma_get_cache_alignment ( void ) ;
# define dma_alloc_noncoherent dma_alloc_coherent
# define dma_free_noncoherent dma_free_coherent
2008-07-18 08:55:51 +04:00
# endif /* _ASM_SPARC_DMA_MAPPING_H */