2005-04-17 02:20:36 +04:00
# ifndef _M68K_DMA_MAPPING_H
# define _M68K_DMA_MAPPING_H
2006-06-25 16:46:57 +04:00
# include <asm/cache.h>
2006-06-25 16:46:56 +04:00
struct scatterlist ;
2005-04-17 02:20:36 +04:00
2006-06-25 16:46:56 +04:00
static inline int dma_supported ( struct device * dev , u64 mask )
{
return 1 ;
}
static inline int dma_set_mask ( struct device * dev , u64 mask )
{
return 0 ;
}
2006-06-25 16:46:57 +04:00
static inline int dma_get_cache_alignment ( void )
{
return 1 < < L1_CACHE_SHIFT ;
}
static inline int dma_is_consistent ( dma_addr_t dma_addr )
{
return 0 ;
}
2006-06-25 16:46:56 +04:00
extern void * dma_alloc_coherent ( struct device * , size_t ,
dma_addr_t * , int ) ;
extern void dma_free_coherent ( struct device * , size_t ,
void * , dma_addr_t ) ;
2006-06-25 16:46:57 +04:00
static inline void * dma_alloc_noncoherent ( struct device * dev , size_t size ,
dma_addr_t * handle , int flag )
{
return dma_alloc_coherent ( dev , size , handle , flag ) ;
}
static inline void dma_free_noncoherent ( struct device * dev , size_t size ,
void * addr , dma_addr_t handle )
{
dma_free_coherent ( dev , size , addr , handle ) ;
}
static inline void dma_cache_sync ( void * vaddr , size_t size ,
enum dma_data_direction dir )
{
/* we use coherent allocation, so not much to do here. */
}
2006-06-25 16:46:56 +04:00
extern dma_addr_t dma_map_single ( struct device * , void * , size_t ,
enum dma_data_direction ) ;
static inline void dma_unmap_single ( struct device * dev , dma_addr_t addr ,
size_t size , enum dma_data_direction dir )
{
}
extern dma_addr_t dma_map_page ( struct device * , struct page * ,
unsigned long , size_t size ,
enum dma_data_direction ) ;
static inline void dma_unmap_page ( struct device * dev , dma_addr_t address ,
size_t size , enum dma_data_direction dir )
{
}
extern int dma_map_sg ( struct device * , struct scatterlist * , int ,
enum dma_data_direction ) ;
static inline void dma_unmap_sg ( struct device * dev , struct scatterlist * sg ,
int nhwentries , enum dma_data_direction dir )
{
}
extern void dma_sync_single_for_device ( struct device * , dma_addr_t , size_t ,
enum dma_data_direction ) ;
extern void dma_sync_sg_for_device ( struct device * , struct scatterlist * , int ,
enum dma_data_direction ) ;
static inline void dma_sync_single_for_cpu ( struct device * dev , dma_addr_t handle ,
size_t size , enum dma_data_direction dir )
{
}
static inline void dma_sync_sg_for_cpu ( struct device * dev , struct scatterlist * sg ,
int nents , enum dma_data_direction dir )
{
}
static inline int dma_mapping_error ( dma_addr_t handle )
{
return 0 ;
}
2005-04-17 02:20:36 +04:00
# endif /* _M68K_DMA_MAPPING_H */