home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / ia64 / include / asm / swiotlb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.9 KB  |  57 lines

  1. #ifndef ASM_IA64__SWIOTLB_H
  2. #define ASM_IA64__SWIOTLB_H
  3.  
  4. #include <linux/dma-mapping.h>
  5.  
  6. /* SWIOTLB interface */
  7.  
  8. extern dma_addr_t swiotlb_map_single(struct device *hwdev, void *ptr,
  9.                      size_t size, int dir);
  10. extern void *swiotlb_alloc_coherent(struct device *hwdev, size_t size,
  11.                     dma_addr_t *dma_handle, gfp_t flags);
  12. extern void swiotlb_unmap_single(struct device *hwdev, dma_addr_t dev_addr,
  13.                  size_t size, int dir);
  14. extern void swiotlb_sync_single_for_cpu(struct device *hwdev,
  15.                     dma_addr_t dev_addr,
  16.                     size_t size, int dir);
  17. extern void swiotlb_sync_single_for_device(struct device *hwdev,
  18.                        dma_addr_t dev_addr,
  19.                        size_t size, int dir);
  20. extern void swiotlb_sync_single_range_for_cpu(struct device *hwdev,
  21.                           dma_addr_t dev_addr,
  22.                           unsigned long offset,
  23.                           size_t size, int dir);
  24. extern void swiotlb_sync_single_range_for_device(struct device *hwdev,
  25.                          dma_addr_t dev_addr,
  26.                          unsigned long offset,
  27.                          size_t size, int dir);
  28. extern void swiotlb_sync_sg_for_cpu(struct device *hwdev,
  29.                     struct scatterlist *sg, int nelems,
  30.                     int dir);
  31. extern void swiotlb_sync_sg_for_device(struct device *hwdev,
  32.                        struct scatterlist *sg, int nelems,
  33.                        int dir);
  34. extern int swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg,
  35.               int nents, int direction);
  36. extern void swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg,
  37.                  int nents, int direction);
  38. extern int swiotlb_dma_mapping_error(struct device *hwdev, dma_addr_t dma_addr);
  39. extern void swiotlb_free_coherent(struct device *hwdev, size_t size,
  40.                   void *vaddr, dma_addr_t dma_handle);
  41. extern int swiotlb_dma_supported(struct device *hwdev, u64 mask);
  42. extern void swiotlb_init(void);
  43.  
  44. extern int swiotlb_force;
  45.  
  46. #ifdef CONFIG_SWIOTLB
  47. extern int swiotlb;
  48. extern void pci_swiotlb_init(void);
  49. #else
  50. #define swiotlb 0
  51. static inline void pci_swiotlb_init(void)
  52. {
  53. }
  54. #endif
  55.  
  56. #endif /* ASM_IA64__SWIOTLB_H */
  57.