2006-02-13 01:37:47

by Jon Mason

[permalink] [raw]
Subject: [PATCH 1/2] move swiotlb.h header file to asm-generic (revised)

This patch is a cut down version of the one Muli submitted on January
24th (http://lkml.org/lkml/2006/1/24/262). It removes the miscellaneous
changes from "int" to "enum dma_data_direction", and only contains the
move to asm-generic.

Thanks,
Jon

Signed-Off-By: Muli Ben-Yehuda <[email protected]>
Signed-off-by: Jon Mason <[email protected]>

diff -r 2fa13972604f include/asm-x86_64/swiotlb.h
--- a/include/asm-x86_64/swiotlb.h Wed Feb 8 17:58:27 2006
+++ b/include/asm-x86_64/swiotlb.h Sun Feb 12 15:29:57 2006
@@ -3,52 +3,13 @@

#include <linux/config.h>

-#include <asm/dma-mapping.h>
-
-/* SWIOTLB interface */
-
-extern dma_addr_t swiotlb_map_single(struct device *hwdev, void *ptr,
- size_t size, int dir);
-extern void *swiotlb_alloc_coherent(struct device *hwdev, size_t size,
- dma_addr_t *dma_handle, gfp_t flags);
-extern void swiotlb_unmap_single(struct device *hwdev, dma_addr_t dev_addr,
- size_t size, int dir);
-extern void swiotlb_sync_single_for_cpu(struct device *hwdev,
- dma_addr_t dev_addr,
- size_t size, int dir);
-extern void swiotlb_sync_single_for_device(struct device *hwdev,
- dma_addr_t dev_addr,
- size_t size, int dir);
-extern void swiotlb_sync_single_range_for_cpu(struct device *hwdev,
- dma_addr_t dev_addr,
- unsigned long offset,
- size_t size, int dir);
-extern void swiotlb_sync_single_range_for_device(struct device *hwdev,
- dma_addr_t dev_addr,
- unsigned long offset,
- size_t size, int dir);
-extern void swiotlb_sync_sg_for_cpu(struct device *hwdev,
- struct scatterlist *sg, int nelems,
- int dir);
-extern void swiotlb_sync_sg_for_device(struct device *hwdev,
- struct scatterlist *sg, int nelems,
- int dir);
-extern int swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg,
- int nents, int direction);
-extern void swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg,
- int nents, int direction);
-extern int swiotlb_dma_mapping_error(dma_addr_t dma_addr);
-extern void swiotlb_free_coherent (struct device *hwdev, size_t size,
- void *vaddr, dma_addr_t dma_handle);
-extern int swiotlb_dma_supported(struct device *hwdev, u64 mask);
-extern void swiotlb_init(void);
+#include <asm-generic/swiotlb.h>

#ifdef CONFIG_SWIOTLB
+extern void pci_swiotlb_init(void);
extern int swiotlb;
#else
#define swiotlb 0
#endif

-extern void pci_swiotlb_init(void);
-
#endif /* _ASM_SWTIOLB_H */
diff -r 2fa13972604f include/asm-generic/swiotlb.h
--- /dev/null Wed Feb 8 17:58:27 2006
+++ b/include/asm-generic/swiotlb.h Sun Feb 12 15:29:57 2006
@@ -0,0 +1,62 @@
+#ifndef _ASM_GENERIC_SWIOTLB_H
+#define _ASM_GENERIC_SWTIOLB_H 1
+
+struct device;
+struct scatterlist;
+
+extern void swiotlb_init(void);
+
+extern int swiotlb_dma_supported(struct device *hwdev, u64 mask);
+
+extern void*
+swiotlb_alloc_coherent(struct device *hwdev, size_t size, dma_addr_t *dma_handle,
+ gfp_t flags);
+
+extern void
+swiotlb_free_coherent(struct device *hwdev, size_t size, void *vaddr,
+ dma_addr_t dma_handle);
+
+extern dma_addr_t
+swiotlb_map_single(struct device *hwdev, void *ptr, size_t size,
+ int dir);
+
+extern void
+swiotlb_unmap_single(struct device *hwdev, dma_addr_t dev_addr, size_t size,
+ int dir);
+
+extern void
+swiotlb_sync_single_for_cpu(struct device *hwdev, dma_addr_t dev_addr, size_t size,
+ int dir);
+
+extern void
+swiotlb_sync_single_for_device(struct device *hwdev, dma_addr_t dev_addr,
+ size_t size, int dir);
+
+extern void
+swiotlb_sync_single_range_for_cpu(struct device *hwdev, dma_addr_t dev_addr,
+ unsigned long offset, size_t size, int dir);
+
+extern void
+swiotlb_sync_single_range_for_device(struct device *hwdev, dma_addr_t dev_addr,
+ unsigned long offset, size_t size, int dir);
+
+extern void
+swiotlb_sync_sg_for_cpu(struct device *hwdev, struct scatterlist *sg, int nelems,
+ int dir);
+
+extern void
+swiotlb_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg,
+ int nelems, int dir);
+
+extern int
+swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg, int nents,
+ int direction);
+
+extern void
+swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg, int nents,
+ int direction);
+
+extern int
+swiotlb_dma_mapping_error(dma_addr_t dma_addr);
+
+#endif /* _ASM_GENERIC_SWTIOLB_H */