home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-x86_64 / swiotlb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.8 KB  |  54 lines

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